(57)【要約】  目標段落および目標段落のコンテキストの語句を取得して、目標段落およびコンテキストの語句を記憶符号化モデルに入力するステップと、入力層においてオリジナルベクトル集合および記憶ベクトル集合を取得するステップと、記憶層においてオリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得するステップと、出力層において第１の目標語句行列に基づいて目標段落の段落ベクトルを取得するステップと、段落ベクトルに基づいて処理を行うステップとを含む符号化方法を提供する。
2022502758.tif 000002
【特許請求の範囲】
【請求項１】
符号化機器が実行する符号化方法であって、
目標段落および前記目標段落のコンテキストの語句を取得して、前記目標段落および前記コンテキストの語句を記憶符号化モデルに入力するステップであって、前記目標段落は、少なくとも１つの語句を含み、前記記憶符号化モデルは、少なくとも入力層、記憶層および出力層を含む、ステップと、
前記入力層において前記目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得するステップであって、前記オリジナルベクトル集合は、前記目標段落における各語句のそれぞれの語句ベクトルを含み、前記記憶ベクトル集合は、前記目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む、ステップと、
前記記憶層において前記オリジナルベクトル集合および前記記憶ベクトル集合に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するステップであって、前記第１の目標語句行列は、前記オリジナルベクトル集合と前記記憶ベクトル集合との関連性に基づいて前記目標段落を記述するためのものである、ステップと、
前記出力層において前記第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するステップと、
前記段落ベクトルに基づいて処理を行うステップと、を含む、
ことを特徴とする符号化方法。
【請求項２】
前記入力層は、語句符号化モデルを含み、
前記入力層において前記目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得する前記ステップは、
前記目標段落の各語句における各単語のそれぞれの単語ベクトルに基づいて、前記語句符号化モデルによって前記各語句のそれぞれの語句ベクトルを取得することによって、前記オリジナルベクトル集合を得るステップと、
前記コンテキストの語句における各単語のそれぞれの単語ベクトルに基づいて前記記憶ベクトル集合を取得するステップと、を含む、
ことを特徴とする請求項１に記載の方法。
【請求項３】
前記語句符号化モデルは、第１の語句符号化サブモデルと第２の語句符号化サブモデルとを含み、
前記目標段落の各語句における各単語のそれぞれの単語ベクトルに基づいて、前記語句符号化モデルによって前記各語句のそれぞれの語句ベクトルを取得することによって、前記オリジナルベクトル集合を得る前記ステップは、
前記目標段落における各語句に対して、前記語句における各単語のそれぞれの単語ベクトルを取得して複数の単語ベクトルを得るステップと、
前記第１の語句符号化サブモデルによって前記複数の単語ベクトルを正順に符号化して第１のベクトルを得、前記第２の語句符号化サブモデルによって前記複数の単語ベクトルを逆順に符号化して第２のベクトルを得るステップと、
前記第１のベクトルおよび前記第２のベクトルに基づいて前記語句の語句ベクトルを取得するステップと、を含む、
ことを特徴とする請求項２に記載の方法。
【請求項４】
前記記憶層は、記憶モデルを含み、
前記記憶層において前記オリジナルベクトル集合および前記記憶ベクトル集合に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得する前記ステップは、
前記記憶モデルによって、前記記憶ベクトル集合に対応する第１の記憶行列および第２の記憶行列を取得するステップと、
前記オリジナルベクトル集合、前記第１の記憶行列および前記第２の記憶行列に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するステップと、を含む、
ことを特徴とする請求項１に記載の方法。
【請求項５】
前記記憶ベクトル集合は、前記オリジナルベクトル集合と同じであり、
前記オリジナルベクトル集合、前記第１の記憶行列および前記第２の記憶行列に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得する前記ステップは、
前記オリジナルベクトル集合と前記第１の記憶行列との類似性行列を取得するステップと、
前記類似性行列に対して確率分布演算を行うことによって確率行列を得るステップと、
前記第２の記憶行列および前記確率行列に基づいて前記第１の目標語句行列を取得するステップと、を含む、
ことを特徴とする請求項４に記載の方法。
【請求項６】
前記記憶符号化モデルは、ゲーティング層をさらに含み、
前記出力層において前記第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得する前記ステップは、
前記ゲーティング層において前記オリジナルベクトル集合と前記第１の目標語句行列とを重み付け加算して第２の目標語句行列を得ることによって、前記第２の目標語句行列の各数値がそれぞれ予定数値範囲にあるようにするステップと、
前記出力層において前記第２の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するステップと、を含む、
ことを特徴とする請求項１に記載の方法。
【請求項７】
前記ゲーティング層は、線形ネットワークモデルを含み、
前記ゲーティング層において前記オリジナルベクトル集合と前記第１の目標語句行列とを重み付け加算して第２の目標語句行列を得る前記ステップは、
前記オリジナルベクトル集合の第１の重みが予定数値範囲にあるように、前記線形ネットワークモデルによって前記オリジナルベクトル集合に対応する線形数値を取得し、予定関数によって前記線形数値を処理して前記第１の重みを得るステップと、
前記第１の重みに基づいて、前記第１の目標語句行列の第２の重みを確定するステップと、
前記第１の重みおよび前記第２の重みに従って、前記オリジナルベクトル集合と前記第１の目標語句行列とを重み付け加算して前記第２の目標語句行列を得るステップと、を含む、
ことを特徴とする請求項６に記載の方法。
【請求項８】
前記出力層において前記第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得する前記ステップは、前記第１の目標語句行列を列方向に加算して前記段落ベクトルを得るステップを含む、
ことを特徴とする請求項１に記載の方法。
【請求項９】
前記第１の目標語句行列を更新後のオリジナルベクトル集合および記憶ベクトル集合とし、前記記憶層において、繰り返し回数が所定の回数に達するまで、前記オリジナルベクトル集合および前記記憶ベクトル集合に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するステップを繰り返して実行した場合に、前記出力層において、現在の第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するステップをさらに含む、
ことを特徴とする請求項１乃至８のいずれか１項に記載の方法。
【請求項１０】
符号化機器に設けられる符号化装置であって、
目標段落および前記目標段落のコンテキストの語句を取得して、前記目標段落および前記コンテキストの語句を記憶符号化モデルに入力するための取得モジュールであって、前記目標段落は、少なくとも１つの語句を含む取得モジュールと、
前記目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得するための入力層モジュールであって、前記オリジナルベクトル集合は、前記目標段落における各語句のそれぞれの語句ベクトルを含み、前記記憶ベクトル集合は、前記目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む入力層モジュールと、
前記オリジナルベクトル集合および前記記憶ベクトル集合に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するための記憶層モジュールであって、前記第１の目標語句行列は、前記オリジナルベクトル集合と前記記憶ベクトル集合との関連性に基づいて前記目標段落を記述する記憶層モジュールと、
前記第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するための出力層モジュールと、
前記段落ベクトルに基づいて処理を行うための処理モジュールと、を備える、
ことを特徴とする符号化装置。
【請求項１１】
前記入力層モジュールは、さらに、
前記目標段落の各語句における各単語のそれぞれの単語ベクトルに基づいて、語句符号化モデルによって前記各語句のそれぞれの語句ベクトルを取得することによって、前記オリジナルベクトル集合を得、
前記コンテキストの語句における各単語のそれぞれの単語ベクトルに基づいて前記記憶ベクトル集合を取得するために用いられる、
ことを特徴とする請求項１０に記載の装置。
【請求項１２】
前記語句符号化モデルは、第１の語句符号化サブモデルと第２の語句符号化サブモデルとを含み、
前記入力層モジュールは、さらに、
前記目標段落における各語句に対して、前記語句における各単語のそれぞれの単語ベクトルを取得して複数の単語ベクトルを得、
前記第１の語句符号化サブモデルによって前記複数の単語ベクトルを正順に符号化して第１のベクトルを得、前記第２の語句符号化サブモデルによって前記複数の単語ベクトルを逆順に符号化して第２のベクトルを得、
前記第１のベクトルおよび前記第２のベクトルに基づいて前記語句の語句ベクトルを取得するために用いられる、
ことを特徴とする請求項１１に記載の装置。
【請求項１３】
前記記憶層は、記憶モデルを含み、
前記記憶層モジュールは、
前記記憶モデルによって、前記記憶ベクトル集合に対応する第１の記憶行列および第２の記憶行列を取得するための記憶取得部と、
前記オリジナルベクトル集合、前記第１の記憶行列および前記第２の記憶行列に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するための第１の目標取得部とを含む、
ことを特徴とする請求項１０に記載の装置。
【請求項１４】
前記記憶ベクトル集合は、前記オリジナルベクトル集合と同じであり、
前記第１の目標取得部は、
前記オリジナルベクトル集合と前記第１の記憶行列との類似性行列を取得し、
前記類似性行列に対して確率分布演算を行うことによって確率行列を得、
前記第２の記憶行列および前記確率行列に基づいて前記第１の目標語句行列を取得するために用いられる、
ことを特徴とする請求項１３に記載の装置。
【請求項１５】
ゲーティング層モジュールをさらに含み、
前記ゲーティング層モジュールは、前記オリジナルベクトル集合と前記第１の目標語句行列とを重み付け加算して第２の目標語句行列を得ることによって、前記第２の目標語句行列の各数値がそれぞれ予定数値範囲にあるようにするためのものであり、
前記出力層モジュールは、さらに、前記第２の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するために用いられる、
ことを特徴とする請求項１０に記載の装置。
【請求項１６】
前記ゲーティング層モジュールは、
線形ネットワークモデルによって前記オリジナルベクトル集合に対応する線形数値を取得し、前記オリジナルベクトル集合の第１の重みが予定数値範囲にあるように、予定関数によって前記線形数値を処理して、前記第１の重みを取得し、
前記第１の重みに基づいて、前記第１の目標語句行列の第２の重みを決定し、
前記第１の重みおよび前記第２の重みに従って、前記オリジナルベクトル集合と前記第１の目標語句行列とを重み付け加算して前記第２の目標語句行列を得るために用いられる、
ことを特徴とする請求項１５に記載の装置。
【請求項１７】
前記出力層モジュールは、さらに、前記第１の目標語句行列を列方向に加算して前記段落ベクトルを得るために用いられる、
ことを特徴とする請求項１０に記載の装置。
【請求項１８】
前記記憶層モジュールは、さらに、前記第１の目標語句行列を更新後のオリジナルベクトル集合および記憶ベクトル集合とし、繰り返し回数が所定の回数に達するまで、前記オリジナルベクトル集合および前記記憶ベクトル集合に基づいて前記オリジナルベクトル集合の第１の目標語句行列を取得するステップを繰り返して実行した場合に、現在の第１の目標語句行列に基づいて前記目標段落の段落ベクトルを取得するように前記出力層に通知するために用いられる、
ことを特徴とする請求項１０乃至１７のいずれか１項に記載の装置。
【請求項１９】
１または複数のプロセッサと、１または複数のメモリとを備え、
前記１または複数のメモリには、前記１または複数のプロセッサがロードされ実行されることによって請求項１乃至９のいずれか１項に記載の符号化方法における動作を実現するための少なくとも１つのコンピュータ読取可能なコマンド、少なくとも１セグメントのプログラム、コードセット、またはコンピュータ読取可能なコマンドセットが記憶される、
ことを特徴とする符号化機器。
【請求項２０】
請求項１乃至９のいずれか１項に記載の符号化方法を１または複数のプロセッサに実行させる、
ことを特徴とするコンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、２０１９年０１月２４日に中国特許庁へ提出した出願番号が２０１９１００６９７５２６であり、出願名称が「符号化方法、装置、機器および記憶媒体」である中国特許出願に基づいて優先権を要求し、その全ての内容は援用により本開示に組み込まれる。
【０００２】
本開示は、自然言語処理分野に関し、特に、符号化方法、装置、機器、および記憶媒体に関する。
【背景技術】
【０００３】
符号化は、文字をコード値に変換することによって、当該テキストの意味を正確に記述できるベクトルを得る過程である。符号化は、文字を演算処理に便利なベクトル形式に変換することが可能であり、語句の抽出、語句の生成などの様々な分野で広く活用されている。
【０００４】
従来、複数の語句からなる目標段落を符号化しようとする場合、目標段落の各語句における各単語の単単語ベクトルを取得する階層符号化が提案されている。目標段落における各語句について、単語階層の第１の符号化モデルに基づいてこの語句における単語のそれぞれの単語ベクトルを１つのベクトルに符号化することによって、この語句の語句ベクトルを得て、さらに目標段落における複数の語句の語句ベクトルを得る。そして、語句階層の第２の符号化モデルに基づいて、この複数の語句の語句ベクトルを１つのベクトルに符号化することによって、目標段落の段落ベクトルを得る。
【０００５】
上記の方案では、シリアル方式で目標段落における語句のそれぞれの単語ベクトルを順次に符号化して、シリアル方式で複数の語句ベクトルを符号化することしかできないので、符号化速度が遅くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
本開示の種々の実施例によれば、符号化方法、装置、機器、および記憶媒体を提供する。
【課題を解決するための手段】
【０００７】
本開示は、具体的には、以下の技術案を講じる。
【０００８】
本開示によれば、符号化機器が実行する符号化方法であって、
目標段落および目標段落のコンテキストの語句を取得して、目標段落およびコンテキストの語句を記憶符号化モデルに入力するステップであって、目標段落は、少なくとも１つの語句を含み、記憶符号化モデルは、少なくとも入力層、記憶層および出力層を含む、ステップと、
入力層において目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得するステップであって、オリジナルベクトル集合は、目標段落における各語句のそれぞれの語句ベクトルを含み、記憶ベクトル集合は、目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む、ステップと、
記憶層においてオリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得するステップであって、第１の目標語句行列は、オリジナルベクトル集合と記憶ベクトル集合との関連性に基づいて目標段落を記述するためのものである、ステップと、
出力層において第１の目標語句行列に基づいて目標段落の段落ベクトルを取得するステップと、
段落ベクトルに基づいて処理を行うステップと、を含む符号化方法を提供する。
【０００９】
また、本開示によれば、符号化機器に設けられる符号化装置であって、
目標段落および目標段落のコンテキストの語句を取得して、目標段落およびコンテキストの語句を記憶符号化モデルに入力するための取得モジュールであって、目標段落は、少なくとも１つの語句を含む取得モジュールと、
目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得するための入力層モジュールであって、オリジナルベクトル集合は、目標段落における各語句のそれぞれの語句ベクトルを含み、記憶ベクトル集合は、目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む入力層モジュールと、
オリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得するための記憶層モジュールであって、第１の目標語句行列は、オリジナルベクトル集合と記憶ベクトル集合との関連性に基づいて目標段落を記述する記憶層モジュールと、
第１の目標語句行列に基づいて目標段落の段落ベクトルを取得するための出力層モジュールと、
段落ベクトルに基づいて処理を行うための処理モジュールと、を備える符号化装置を提供する。
【００１０】
さらに、本開示によれば、１または複数のプロセッサと、１または複数のメモリとを備え、当該１または複数のメモリには、１または複数のプロセッサがロードされ実行されることによって上記の符号化方法における動作を実現するための少なくとも１つのコンピュータ読取可能なコマンド、少なくとも１セグメントのプログラム、コードセット、またはコンピュータ読取可能なコマンドセットが記憶される符号化機器を提供する。
【００１１】
さらに、本開示によれば、１または複数のプロセッサがロードされ実行されることによって上記の符号化方法における動作を実現するための少なくとも１つのコンピュータ読取可能なコマンド、少なくとも１セグメントのプログラム、コードセット、またはコンピュータ読取可能なコマンドセットが記憶されるコンピュータ読取可能な記憶媒体を提供する。
【００１２】
なお、本開示の１または複数の実施例について、下記の図面および明細書に詳細に説明する。また、本開示の他の特徴、目的および利点は、本開示の明細書、図面および特許請求の範囲によってより顕著になろう。
【図面の簡単な説明】
【００１３】
以下、本開示の実施例の技術手段をより明瞭に説明するために、実施例の説明に必要な図面を簡単に説明するが、以下に説明する図面は、本開示のいくつかの実施例に関するものに過ぎなく、当業者にとっては、進歩性のある労働をすることなくこれらの図面に基づいて他の図面を得ることができることは明らかなことである。
【図１】本開示の実施例が提供する記憶符号化モデルの構成を示す図である。
【図２】本開示の実施例が提供する他の記憶符号化モデルの構成を示す図である。
【図３】本開示の実施例が提供する符号化方法を示すフローチャートである。
【図４】本開示の実施例が提供する語句符号化モデルの構成を示す図である。
【図５】本開示の実施例が提供する語句符号化モデルのフローを示す図である。
【図６】本開示の実施例が提供する記憶符号化モデルの構成を示す図である。
【図７】本開示の実施例が提供する記憶層の構成を示す図である。
【図８】本開示の実施例によるゲーティング層の構成を示す図である。
【図９】本開示の実施例が提供する記憶符号化モデルの構成を示す図である。
【図１０】本開示の実施例が提供する記憶符号化モデルの構成を示す図である。
【図１１】本開示の実施例が提供する符号化装置の構成を示す図である。
【図１２】本開示の実施例が提供する端末の構成を示すブロック図である。
【図１３】本開示の実施例が提供するサーバの構成を示す図である。
【発明を実施するための形態】
【００１４】
以下、本開示の目的、技術手段および利点をより明確にするために、本開示の実施例について図面を参照しながらさらに詳細に説明する。
【００１５】
本開示の実施例は、記憶符号化モデルを提供し、目標段落および目標段落のコンテキストの語句を取得して記憶符号化モデルに入力し、当該記憶符号化モデルによってこの目標段落を符号化してこの目標段落の段落ベクトルを得ることができるので、段落ベクトルに基づいて処理を行うことができる。符号化過程では、目標段落における各語句をそれぞれシリアル方式で符号化する必要がなく、目標段落を単位として、この記憶符号化モデルによって１回だけで目標段落を符号化することができる。そして、目標段落における各語句の意味だけではなく、目標段落における語句と目標段落のコンテキストの語句との関連性も考慮するので、取得した段落ベクトルは、目標段落の意味をより正確に表現することができ、段落ベクトルに基づいて処理を行う場合に正確性を向上させることができる。
【００１６】
図１に示すように、この記憶符号化モデルは、入力層１０１、記憶層１０２および出力層１０３を含み、入力層１０１は記憶層１０２に接続され、記憶層１０２は出力層１０３に接続されている。
【００１７】
入力層１０１は、目標段落における語句のそれぞれに基づいて語句の意味を表す語句ベクトルを抽出することによって、当該目標段落のオリジナルベクトル集合を取得して、オリジナルベクトル集合を記憶層１０２に入力する。また、入力層１０１は、さらに、目標段落のコンテキストの語句における各単語に基づいて各単語のそれぞれの単語ベクトルを取得して、取得した複数の単語ベクトルを記憶ベクトル集合として組み合わせて記憶層１０２に入力する。記憶層１０２は、入力されたオリジナルベクトル集合および記憶ベクトル集合に基づいて第１の目標語句行列を取得して、第１の目標語句行列を出力層１０３に入力する。
出力層１０３は、第１の目標語句行列に基づいて当該目標段落の段落ベクトルを取得する。
【００１８】
また、記憶層１０２は、注意力学習機構を採用しており、記憶ベクトル集合に基づいてオリジナルベクトル集合への影響が大きい関連情報を抽出することができるため、目標段落における語句とそのコンテキストの語句との関連性を考慮して、より正確な段落ベクトルを取得することができる。
【００１９】
また、１つの実施例では、図２に示すように、当該記憶符号化モデルは、ゲーティング層１０４をさらに含む。入力層１０１は、記憶層１０２およびゲーティング層１０４に接続され、記憶層１０２は、ゲーティング層１０４に接続され、ゲーティング層１０４は、出力層１０３に接続されている。すなわち、本開示の実施例は、ＧＳＭＮ（Ｇａｔｅｄ  Ｓｅｌｆ−ａｔｔｅｎｔｉｖｅ  Ｍｅｍｏｒｙ  Ｎｅｔｗｏｒｋ）モデルを提供する。
【００２０】
記憶層１０２は、第１の目標語句行列を得てゲーティング層１０４に入力し、ゲーティング層１０４は、オリジナルベクトル集合と第１の目標行列とを重み付け加算することによって第２の目標語句行列を得て、第２の目標語句行列を出力層１０３に入力し、出力層１０３は、第２の目標語句行列に基づいて当該目標段落の段落ベクトルを取得する。
【００２１】
また、１つの実施例では、当該記憶ネットワークモデルは、ゲーティング層１０４から出力された第２の目標語句行列を記憶層１０２のオリジナルベクトル集合および記憶ベクトル集合として記憶層１０２に再入力するように、繰り返し回数が所定の回数に達するまで、記憶層１０２およびゲーティング層１０４を繰り返して動作させた後、現在の目標語句行列を出力層１０３に入力して、目標段落の段落ベクトルを得るようになっている。繰り返し回数は、２回または３回であってもよく、または他の数値であってもよい。
【００２２】
本開示の実施例は、いずれかの段落を符号化する場面に適用することができる。
【００２３】
例えば、インテリジェント対話の場面では、ユーザはチャットロボットと対話すると、チャットロボットは、ユーザが入力したテキストメッセージを目標段落として取得し、本開示の実施例が提供する方法によって目標段落を符号化して段落ベクトルを取得し、この段落ベクトルをチャットデータベースにおける複数の応答メッセージのベクトルとマッチングして、そのベクトルが当該段落ベクトルとマッチングする応答メッセージを得てユーザに提示することができ、ユーザがチャットロボットと対話するという効果を奏することができる。
【００２４】
符号化過程ではユーザが入力したテキストメッセージおよびこのテキストメッセージのコンテキストの語句を考慮するため、生成した段落ベクトルは正確であり、チャットロボットに、ユーザが表現しようとしている意味をよりよく理解させることができる。また、当該段落ベクトルに基づいてよりマッチングする応答メッセージを取得することができるので、ユーザが入力したテキストメッセージに対して、ユーザのニーズにより合致する応答を与えることができ、対話効果を高めることができる。
【００２５】
あるいは、テキスト分類の場面では、分類する目標段落を取得して、本開示の実施例が提供する方法によって目標段落を符号化して段落ベクトルを取得し、この段落ベクトルに基づいて分類することによって、この目標段落が所属する類別を特定することができる。
【００２６】
符号化過程では目標段落のコンテキストの語句を考慮するため、生成した段落ベクトルは正確であり、目標段落の意味をよりよく理解することができ、この段落ベクトルに基づいて分類することによって、分類の正確性を向上させることができる。
【００２７】
あるいは、段落選択の場面では、選択候補とする複数の目標段落を取得して、本開示の実施例が提供する方法によって各目標段落をそれぞれ符号化して段落ベクトルを取得し、複数の目標段落の段落ベクトルに基づいて、複数の目標段落から所望の目標段落を選択する。
【００２８】
符号化過程では目標段落のコンテキストの語句を考慮するため、生成した段落ベクトルは正確であり、目標段落の意味をよりよく理解することができ、段落ベクトルに基づいて選択することによって、所望の目標段落を選択し、選択ミスの問題を回避することができる。
【００２９】
また、本開示の実施例が提供する方法は、上記の場面に加えて、閲読理解等の他の場面にも適用することができるが、本開示の実施例ではこれに対して限定されない。
【００３０】
図３は、本開示の実施例が提供する符号化方法を示すフローチャートである。本開示の実施例では、記憶符号化モデルによって目標段落を符号化する過程を説明し、その実行本体は、符号化機器であり、当該符号化機器は、サーバであってもよいし、または携帯電話、コンピュータ等の端末であってもよい。当該方法は、図３に示すように、以下のようなステップを含む。
【００３１】
ステップ３００において、目標段落および目標段落のコンテキストの語句を取得して、目標段落およびそのコンテキストの語句を記憶符号化モデルに入力する。
【００３２】
当該目標段落は、少なくとも１つの語句を含み、各語句はそれぞれ少なくとも１つの単語を含む。目標段落のコンテキストの語句は、目標段落より前の１または複数の段落における語句、目標段落より後の１または複数の段落における語句を含んでもよく、あるいは、目標段落における１または複数の語句を含んでもよい。例えば、目標段落のコンテキストの語句は、目標段落の本文であってもよい。
【００３３】
また、１つの実施例では、当該目標段落は、ある文における１つの段落であり、そのコンテキストの語句は、当該文において当該段落より前または後の語句を含んでもよいし、または当該段落における語句を含んでもよい。あるいは、当該目標段落は、インテリジェント対話の場面においてユーザが入力したある段落のテキストであり、そのコンテキストの語句は、当該目標段落の前にユーザが入力したテキスト、または当該目標段落におけるテキストを含んでもよいし、あるいは、当該目標段落の前にチャットロボットからユーザへ返信するテキストなどを含んでもよい。
【００３４】
目標段落を符号化すると、当該目標段落および当該目標段落のコンテキストの語句を取得して、目標段落およびそのコンテキストの語句を記憶符号化モデルに入力する。
【００３５】
３０１において、入力層において目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得する。
【００３６】
入力層は、記憶符号化モデルにおける第１の層であり、目標段落を符号化する場合、目標段落および目標段落のコンテキストの語句を入力層に入力し、入力層において目標段落および目標段落のコンテキストの語句を処理して、目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得する。
【００３７】
当該オリジナルベクトル集合は、目標段落における各語句のそれぞれの語句ベクトルを含み、記憶ベクトル集合は、目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む。また、本開示の実施例では、目標段落を符号化する場合、目標段落そのものだけではなく、目標段落のコンテキストの語句も考慮するため、オリジナルベクトル集合だけではなく、記憶ベクトル集合も取得する必要があり、以降ではオリジナルベクトル集合および記憶ベクトル集合に基づいて処理を行う。
【００３８】
また、１つの実施例では、ステップ３０１は、以下のステップ３０１１−３０１２を含み得る。
【００３９】
ステップ３０１１において、目標段落の各語句における各単語のそれぞれの単語ベクトルに基づいて、語句符号化モデルによって各語句のそれぞれの語句ベクトルを取得して、オリジナルベクトル集合を得る。
【００４０】
最初に、当該目標段落に対して前処理を実施する。当該前処理の過程は、目標段落に対して語句の分割を実行して目標段落における各語句を取得し、各語句に対して単語の分割を実行して各語句における各単語を取得して、各単語のそれぞれの単語ベクトルを取得することを含む。
語句の分割過程については、目標段落において句点、疑問符、感嘆符などのような対応する語句が既に終了したことを表す句読点を取得して、取得した句読点に基づいて目標段落を分割することによって、目標段落における語句を得ることができる。
【００４１】
単語の分割過程については、例えば双方向最大マッチング法、最小切り分け法などの複数のアルゴリズムを含み得る単語分割アルゴリズムを用いて、各語句ごとに単語分割を行うことができる。あるいは、その他の方式によって単語分割を行ってもよい。
【００４２】
単語ベクトルの取得過程については、各単語に対して、単語ベクトル辞典から当該単語と対応する単語ベクトルをサーチすることができる。ここで、当該単語ベクトル辞典は、単語と単語ベクトルとの対応関係を含んでもよく、または、当該単語ベクトル辞典は、例えば再帰型ニューラルネットワークモデル、深層学習ネットワークモデル、畳み込み型ニューラルネットワークモデル等の単語ベクトル取得モデルであってもよく、当該単語ベクトル取得モデルによって単語の単語ベクトルを取得することができる。
【００４３】
また、目標段落を前処理した後、各語句に対して、語句符号化モデルによって当該語句における各単語のそれぞれの単語ベクトルを処理して、当該語句の語句ベクトルを取得することによって、目標段落における各語句のそれぞれの語句ベクトルを取得して、各語句の語句ベクトルからオリジナルベクトル集合を構成することができる。
【００４４】
語句符号化モデルは、いずれかの語句における複数の単語の単語ベクトルを、当該語句の意味を表す語句ベクトルに圧縮するためのものであって、再帰型ニューラルネットワークモデル、深層学習ネットワークモデル、畳み込み型ニューラルネットワークモデル、変換ニューラルネットワークモデル、単語階層に基づくＧＳＭＮモデルなどの複数種類のモデルであってもよい。
【００４５】
また、１つの実施例では、語句符号化モデルは、第１の語句符号化サブモデルと第２の語句符号化サブモデルとを含む。語句の語句ベクトルの取得過程は、目標段落における各語句に対して当該語句における各単語のそれぞれの単語ベクトルを取得して複数の単語ベクトルを得るステップと、第１の語句符号化サブモデルによって複数の単語ベクトルを正順に符号化して第１のベクトルを取得し、第２の語句符号化サブモデルによって複数の単語ベクトルを逆順に符号化して第２のベクトルを取得するステップと、第１のベクトルおよび第２のベクトルに基づいて語句の語句ベクトルを取得するステップとを含み得る。また、上記のステップを繰り返して実行することによって、目標段落における各語句の語句ベクトルを取得することができる。
【００４６】
この第１の語句符号化サブモデルは、正順符号化モデルであり、この第２の語句符号化サブモデルは、逆順符号化モデルである。この語句における複数の単語の単語ベクトルは順に配列される場合、第１の語句符号化サブモデルによって、複数の単語ベクトルの並び順に従って複数の単語ベクトルを正順に符号化して、第１のベクトルを得る。一方、第２の語句符号化サブモデルによって、複数の単語ベクトルを逆順に処理し、その後、逆順に処理後の並び順に従って複数の単語ベクトルを逆順に符号化して、第２のベクトルを得る。
【００４７】
また、第１のベクトルおよび第２のベクトルを取得した後、第１のベクトルと第２のベクトルとを直列に接続して語句ベクトルを取得してもよく、または、第１のベクトルと第２のベクトルとを加算して語句ベクトルを取得してもよく、または、他の方式によって語句ベクトルを取得してもよい。
【００４８】
なお、語句符号化モデルが双方向再帰型ニューラルネットワークモデルであることを例として説明すると、図４および図５に示すように、双方向再帰型ニューラルネットワークモデルは、１つの前進再帰型ニューラルネットワークモデルと１つの後進再帰型ニューラルネットワークモデルとを含み、前進再帰型ニューラルネットワークモデルによって語句における複数の単語ベクトルを正順に符号化して第１のベクトルを取得し、後進再帰型ニューラルネットワークモデルによって語句における複数の単語ベクトルを逆順に符号化して第２のベクトルを取得し、第１のベクトルと第２のベクトルとを直列に接続して、当該語句の語句ベクトルを得る。
【００４９】
ステップ３０１２において、コンテキストの語句における各単語のそれぞれの単語ベクトルに基づいて記憶ベクトル集合を取得する。
【００５０】
コンテキストの語句に対して単語分割を行ってコンテキストの語句における各単語を取得した後、各単語のそれぞれの単語ベクトルを取得して、取得した単語ベクトルから記憶ベクトル集合を構成する。単語の分割および単語の単語ベクトルの取得過程は、上記のステップ３０１１と類似する。
【００５１】
なお、目標段落とコンテキストの語句は同様であると、目標段落における語句を処理するだけでオリジナルベクトル集合および記憶ベクトル集合を得ることができ、他の語句を処理する必要はなくなる。また、図６に示すように、目標段落に対して前処理を行って得られた単語ベクトルに基づいて記憶ベクトル集合を取得する。
【００５２】
本開示の実施例では、記憶符号化モデルは、目標段落単位で符号化を行うため、入力層は、取得したオリジナルベクトル集合および記憶ベクトル集合を記憶層に入力して処理を行う。
【００５３】
ステップ３０２において、記憶層において、記憶モデルによって記憶ベクトル集合に対応する第１の記憶行列および第２の記憶行列を取得する。
【００５４】
記憶層は、記憶モデルを含み、当該記憶モデルにって当該記憶ベクトル集合に対応する第１の記憶行列および第２の記憶行列を取得することができ、第１の記憶行列および第２の記憶行列は、当該記憶ベクトル集合を記述するためのものであって、両者は同じであってもよく異なってもよい。
【００５５】
第１の記憶行列の取得方式については、記憶ベクトル集合に基づいてコンテキストの語句における各単語のそれぞれの単語ベクトルを取得し、語句符号化モデルによって各語句のそれぞれの語句ベクトルを取得し、各語句のそれぞれの語句ベクトルに基づいて第１の記憶行列を取得することができる。
【００５６】
１つの実施例では、当該語句符号化モデルは、第３の語句符号化サブモデルと第４の語句符号化サブモデルとを含み、語句の語句ベクトルの取得過程は、コンテキストの語句のそれぞれに対して、当該語句における各単語のそれぞれの単語ベクトルを取得して複数の単語ベクトルを得るステップと、第３の語句符号化サブモデルによって複数の単語ベクトルを正順に符号化して第３のベクトルを取得し、第４の語句符号化サブモデルによって複数の単語ベクトルを逆順に符号化して第４ベクトルを取得するステップと、第３のベクトルおよび第４のベクトルに基づいて語句の語句ベクトルを取得するステップとを含み得る。
【００５７】
語句ベクトルの具体的な取得過程は、上記のステップ３０１１と類似する。
【００５８】
コンテキストの語句のそれぞれの語句ベクトルを取得した後、これらの語句の語句ベクトルを組み合わせて第１の記憶行列を取得する。
【００５９】
また、第２の記憶行列の取得方式は、採用する語句符号化モデルが第１の記憶行列を取得する際に採用する語句符号化モデルと同じであっても異なってもよいという点の以外に、第１の記憶行列の取得方式と類似する。
【００６０】
図７に示すように、第１の記憶行列および第２の記憶行列を取得する際に採用する語句符号化モデルはいずれも双方向再帰型ニューラルネットワークモデルであり、これら２つの双方向再帰型ニューラルネットワークモデルによって記憶ベクトル集合をそれぞれ処理することによって、第１の記憶行列および第２の記憶行列を得ることができる。なお、これら２つの双方向再帰型ニューラルネットワークモデルのパラメーターは同じであってもよく異なってもよいため、得られる第１の記憶行列および第２の記憶行列は同じであってもよく異なってもよい。
【００６１】
第１の記憶行列および第２の記憶行列は記憶ベクトル集合を記述できるため、第１の記憶行列と第２の記憶行列およびオリジナルベクトル集合に基づいて処理を行うことにより、コンテキストの語句と目標段落との関連性が考慮され、当該目標段落をより正確に記述可能な段落ベクトルを得ることができる。
【００６２】
本開示の実施例では、目標段落とコンテキストの語句が同じであることを例とするので、オリジナルベクトル集合と記憶ベクトル集合は同一である。この場合、下記のステップ３０３−３０５を実行することにより、目標段落を記述するための第１の目標語句行列を取得することができる。もちろん、目標段落とコンテキストの語句は異なる場合、複数の方式によって第１の目標語句行列を取得してもよい。
【００６３】
ステップ３０３において、オリジナルベクトル集合と第１の記憶行列との類似性行列を取得する。
【００６４】
類似性行列の取得方式としては、例えば行列乗算法や行列減算法などの複数種類ある。また、１つの実施例では、図７に示すように、当該オリジナルベクトル集合における語句ベクトルを組み合わせることによって目標段落のオリジナル語句行列を取得して、このオリジナル語句行列と第１の記憶行列とを乗算して得られた行列を類似性行列とする。あるいは、当該オリジナル語句行列と第１の記憶行列の転置とを乗算して得られた行列を類似性行列としてもよい。
【００６５】
類似性行列における各数値は、オリジナルベクトル集合における語句と、そのコンテキストの語句のうち対応する語句との類似性をそれぞれ示し、類似性が高いほど、２つの語句が緊密に関連することを表すので、後続の処理過程ではこの語句に注意すべきである。
【００６６】
ステップ３０４において、類似性行列に対して確率分布演算を行うことによって確率行列を得る。
【００６７】
類似性行列には、複数の類似性が含まれ、類似性行列に対して確率分布演算を行うことによって確率行列を得ることができ、確率行列には、各類似性のそれぞれに対応する確率が含まれ、かつ全ての類似性の確率の和は１である。
【００６８】
確率分布演算の方式としては種々考えられるが、１つの実施例では、Ｓｏｆｔｍａｘ（正規化指数）関数によって類似性行列に対して演算を行って、類似性行列に対応する確率行列を得るようになっている。あるいは、類似性行列における各位置に対して、その位置における類似性と類似性行列における全ての類似性の和との比を取得して、その位置における類似性に対応する確率を得ることによって、各位置における類似性に対応する確率を取得し、取得した確率から確率行列を構成する。
【００６９】
ステップ３０５において、第２の記憶行列および確率行列に基づいて第１の目標語句行列を取得する。
【００７０】
第２の記憶行列および確率行列に基づいて第１の目標語句行列を取得する方式としては種々考えられるが、１つの実施例では、図７に示すように、確率行列と第２の記憶行列とを乗算して、目標段落の語句行列とサイズが同じである第１の目標語句行列を得るようになっている。
【００７１】
第１の目標語句行列は、オリジナルベクトル集合と記憶ベクトル集合との関連性に基づいて目標段落を記述するためのものである。目標段落における語句とコンテキストの語句との類似性が高いほど確率が大きくなるので、確率行列と第２の記憶行列とを乗算することによって、コンテキストの語句との類似性が高い語句を記憶強化して、後続きの処理過程では当該語句により注意することができる。これは、注意機構によって第１の目標語句行列を得ることにより、第１の目標語句行列による当該目標段落の記述をより正確にすることに相当する。
【００７２】
例えば、オリジナルベクトル集合は、目標段落のＪ個の語句の語句ベクトルを含み、記憶ベクトル集合は、コンテキストの語句のうちＫ個の語句の語句ベクトルを含む（ＪおよびＫは、正の整数である）と、オリジナルベクトル集合に対応する行列ＸはＪ＊Ｄの行列となり、記憶ベクトル集合に対応する行列ＭはＫ＊Ｄの行列となる（Ｄは、語句ベクトルの次元数である）。そして、これら２つの行列を記憶層に入力して、上記のステップ３０２-３０５を実行することによって得られた第１の目標語句行列は、Ｏ＝Ｓｏｆｔｍａｘ(ＸΦ１(Ｍ)Ｔ)Φ２(Ｍ)である（ここで、Φ１(Ｍ)は、第１の記憶行列であり、Φ２(Ｍ)は、第２の記憶行列である）。
【００７３】
ステップ３０６において、ゲーティング層において、線形ネットワークモデルによってオリジナルベクトル集合に対応する線形数値を取得して、第１の重みが予定数値範囲にあるように、予定関数によって線形数値を処理して、オリジナルベクトル集合の第１の重みを求める。
【００７４】
入力層は、オリジナルベクトル集合をゲーティング層に入力し、記憶層は、第１の目標語句行列をゲーティング層に入力し、ゲーティング層において、オリジナルベクトル集合および第１の目標語句行列に基づいて処理を行い、記憶強化された第１の目標語句行列と元のオリジナルベクトル集合とが占める比重を調整することにより、目標段落においてコンテキストの語句との類似性が高い語句が占める比重を調整する。
【００７５】
図８に示すように、ゲーティング層において、線形ネットワークモデルによってオリジナルベクトル集合に対応する線形数値を取得する。ここで、線形ネットワークモデルは、線形ニューラルネットワークモデルであってもよいし、他の線形ネットワークモデルであってもよく、オリジナルベクトル集合に対して線形処理を行った後に得られる線形数値は、オリジナルベクトル集合を記述することができる。
【００７６】
線形数値を取得した後、予定関数によって線形数値を処理して、オリジナルベクトル集合の第１の重みを求める。当該予定関数は、線形数値を予定数値範囲に圧縮して、得られた第１の重みが当該予定数値範囲にあるようにするためのものである。当該予定関数は、ｓｉｇｍｏｉｄ（ニューロンの非線形作用）関数または他の関数であってもよく、当該予定数値範囲は、０〜１の数値範囲であってもよい。すると、第１の重みは、０より大きく１より小さくなる。
【００７７】
ステップ３０７において、第１の重みに基づき、第１の目標語句行列の第２の重みを確定する。
【００７８】
第１の重みは、オリジナルベクトル集合が占める重みであり、第２の重みは、第１の目標語句行列が占める重みであり、第１の重みと第２の重みとの和は１であり、第１の重みを得た後、第１の重みに基づいて第２の重みを確定する。
【００７９】
ステップ３０８において、第１の重みおよび第２の重みに従って、オリジナルベクトル集合と第１の目標語句行列とを重み付け加算して第２の目標語句行列を得る。
【００８０】
図９に示すように、当該オリジナルベクトル集合における語句ベクトルを組み合わせることによって目標段落のオリジナル語句行列を取得し、第１の重みは当該オリジナル語句行列の重みであり、第２の重みは第１の目標語句行列の重みであり、第１重みおよび第２の重みに基づいて、当該オリジナル語句行列と当該第１の目標語句行列とを重み付き加算して第２の目標語句行列を得ることによって、第２の目標語句行列の各数値がそれぞれ予定数値範囲にあるようにする。
【００８１】
また、１つの実施例では、以下の式を用いて重み付け加算を行う。
【００８２】
Ｏ’＝Ｇ＊Ｘ＋（１−Ｇ）＊Ｏ
ただし、Ｏ’は第２の目標語句行列であり、Ｇは第１の重みであり、Ｘは目標段落のオリジナル語句行列であり、Ｏは第１の目標語句行列である。
【００８３】
記憶強調後に学習した情報をゲーティング層によって選別し、目標段落とコンテキストの語句との比重を調整することができるので、制御情報の流れを制御して、目標段落とは関係がない情報を過度に加えるのを避けることができる。
【００８４】
ステップ３０９において、出力層において、第２の目標語句行列に基づいて目標段落の段落ベクトルを取得する。
【００８５】
出力層において、第２の目標語句行列を１つのベクトルに変換して、目標段落の段落ベクトルとする。段落ベクトルの取得方式としては種々考えられるが、１つの実施例では、第２の目標語句行列を列方向に加算し、すなわち、第２の目標語句行列を複数の列ベクトルに分割し、各列ベクトルの数値の和を算出して各列ベクトルのそれぞれの総数値を得て、この複数の列ベクトルの総数値を１つのベクトルに組み合わせることによって、段落ベクトルを得るようになっている。
【００８６】
なお、図１０に示すように、本開示の実施例では、記憶層およびゲーティング層を１回動作させた場合のみを例として説明したが、他の実施例では、記憶層およびゲーティング層を繰り返して動作させてもよい。すなわち、ゲーティング層において、第２の目標語句行列を取得した後、第２の目標語句行列を更新後のオリジナルベクトル集合および記憶ベクトル集合とする。記憶層およびゲーティング層において、繰り返し回数が所定の回数に達するまで、更新後のオリジナルベクトル集合および記憶ベクトル集合に基づいて目標語句行列を取得するステップを繰り返して実行し、現在の目標語句行列を出力層に入力する。出力層において、現在の目標語句行列に基づいて目標段落の段落ベクトルを取得する。当該所定の回数は、２または３などとすることができるが、需要に応じて決定してもよいし、または実験によって決定した好適な値であってもよい。
【００８７】
なお、本開示の実施例では、記憶符号化モデルがゲーティング層を含む場合のみを例として説明したが、他の実施例では、記憶符号化モデルは、ゲーティング層を含まない。この場合、ステップ３０５〜３０８を実行することなく、記憶層において第１の目標語句行列を取得した後、第１の目標語句行列を出力層に入力し、出力層において第１の目標語句行列に基づいて目標段落の段落ベクトルを取得する。
【００８８】
また、１つの実施例では、第１の目標語句行列を列方向に加算して１つのベクトルを得て、目標段落の段落ベクトルとする。
【００８９】
記憶符号化モデルはゲーティング層を含まない場合、記憶層を繰り返して動作させてもよい。すなわち、記憶層において第１の目標語句行列を取得した後、第１の目標語句行列を更新後のオリジナルベクトル集合および記憶ベクトル集合とし、記憶層において、繰り返し回数が所定の回数に達するまで、更新後のオリジナルベクトル集合および記憶ベクトル集合に基づいて目標語句行列を取得するステップを繰り返して実行して、現在の目標語句行列を出力層に入力し、出力層において現在の目標語句行列に基づいて目標段落の段落ベクトルを取得する。当該所定の回数は、２または３などとすることができるが、需要に応じて確定してもよいし、または実験によって確定した好適な値であってもよい。
【００９０】
ステップ３１０において、段落ベクトルに基づいて処理を行う。
【００９１】
目標段落の段落ベクトルを取得した後、段落ベクトルに対して処理を行う。なお、段落ベクトルに対する処理方式は場面によっては異なり、具体的にどのような処理方式を採用するかは、必要に応じて確定することができる。例えば、インテリジェント対話の場面では、目標段落は、ユーザが入力したテキストメッセージであり、目標段落の段落ベクトルを取得した後、この段落ベクトルに基づいて対応する応答メッセージを取得するので、ユーザが入力したテキストメッセージに対してユーザが所望する応答を与えることができる。
【００９２】
本開示の実施例が提供する符号化方法では、１種の記憶符号化モデルを提供する。当該記憶符号化モデルは、入力層、記憶層および出力層を含み、目標段落および目標段落のコンテキストの語句を取得して、目標段落およびコンテキストの語句を記憶符号化モデルに入力し、入力層において目標段落のオリジナルベクトル集合および目標段落のコンテキストの語句の記憶ベクトル集合を取得し、記憶層においてオリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得し、出力層において第１の目標語句行列に基づいて目標段落の段落ベクトルを取得して、段落ベクトルに基づいて処理を行う。本開示の実施例は、各語句をそれぞれシリアル方式にて符号化することなく、目標段落を単位とし、目標段落を記憶符号化モデルによって符号化しているため、符号化速度を向上させることができる。また、符号化過程では、目標段落そのものだけではなく、目標段落のコンテキストの語句も考慮しているので、目標段落における語句とコンテキストの語句との関連性に基づいて目標段落を正確に記述可能な段落ベクトルを取得することができ、符号化の正確度を向上することができる。
【００９３】
また、本開示の実施例が提供する記憶符号化モデルは、自己注意性を有し、自己注意機構を段落の語句階層に適用して、目標段落およびコンテキストの語句に基づいて統合処理を行うことによって、目標段落の段落ベクトルの表現がより豊かであることを保証でき、目標段落の意味をより正確に記述することができる。また、本開示の実施例は、多くの場面に適用可能であり、通過範囲が広い。
【００９４】
本開示の実施例は、記憶符号化モデルのネットワークアーキテクチャを提供し、当該記憶符号化モデルによって目標段落を符号化することができる。また、上記の実施例が提供する符号化方法は、符号化過程に適用されてもよいし、記憶符号化モデルのトレーニング過程に適用されてもよい。
【００９５】
つまり、１つの実施例では、記憶符号化モデルのトレーニング過程では、初期化した記憶符号化モデルを取得し、または１回あるいは複数回のトレーニングを行ったがその正確性が未だ要求を満足していない記憶符号化モデルを取得する。そして、１または複数のサンプル段落を目標段落として取得する。現在の記憶符号化モデルによって目標段落を処理し、かつ処理過程では上記の実施例が提供する符号化方法を実行することによって、目標段落の段落ベクトルを得ることができる。
【００９６】
その後、目標段落の段落ベクトルを復号して、この段落ベクトルに対応するテスト段落を取得し、目標段落とテスト段落との誤差に基づいて、記憶符号化モデルにおけるモデルパラメータを補正する。なお、復号方式としては種々考えられるが、例えば、復号アルゴリズムを用いて段落ベクトルを復号してもよいし、復号モデルによって段落ベクトルを復号してもよく、当該復号モデルは、再帰型ニューラルネットワークモデル、深層学習ネットワークモデル、畳み込み型ニューラルネットワークモデル等であってもよい。
【００９７】
このように１回または複数回のトレーニングを行った後、記憶符号化モデルにおけるモデルパラメータを確定して、正確性が要求を満足する記憶符号化モデルを得ることができる。
【００９８】
また、他の１つの実施例では、記憶符号化モデルは、そのトレーニングが既に完了し、かつその正確性が要求を満足しているものである。すると、当該記憶符号化モデルを取得し、かつ、ある目標段落を符号化しようとする場合、当該記憶符号化モデルによって目標段落を処理し、処理過程において上記の実施例が提供する符号化方法を実行することによって、目標段落の段落ベクトルを得ることができる。当該記憶符号化モデルは、符号化機器によってトレーニングされてもよいし、トレーニング機器によってトレーニングされて符号化機器へ送信されてもよく、当該トレーニング機器は、端末またはサーバなどであってもよい。
【００９９】
図１１は、本開示の実施例が提供する符号化装置の構成を示す図である。当該装置は、符号化機器に設けられてもよい。当該装置は、様々なモジュールまたはユニットを含み、各モジュールまたはユニットは、全部または部分的にソフトウェア、ハードウェアまたはこれらの組み合わせによって実現することができる。図１１に示すように、当該装置は、取得モジュール１１００と、入力層モジュール１１０１と、記憶層モジュール１１０２と、出力層モジュール１１０３と、処理モジュール１１０４とを備える。
【０１００】
取得モジュール１１００は、目標段落および目標段落のコンテキストの語句を取得し、目標段落およびコンテキストの語句を記憶符号化モデルに入力するためのものである。ここで、目標段落は、少なくとも１つの語句を含む。
【０１０１】
入力層モジュール１１０１は、目標段落のオリジナルベクトル集合および記憶ベクトル集合を取得するためのものである。ここで、オリジナルベクトル集合は、目標段落における各語句のそれぞれの語句ベクトルを含み、記憶ベクトル集合は、目標段落のコンテキストの語句における各単語のそれぞれの単語ベクトルを含む。
【０１０２】
記憶層モジュール１１０２は、オリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得するためのものである。ここで、第１の目標語句行列は、オリジナルベクトル集合と記憶ベクトル集合との関連性に基づいて目標段落を記述するためのものである。
【０１０３】
出力層モジュール１１０３は、第１の対象語句行列に基づいて目標段落の段落ベクトルを取得するためのものである。
【０１０４】
処理モジュール１１０４は、段落ベクトルに基づいて処理を行うためのものである。
【０１０５】
また、本開示の実施例が提供する符号化装置では、取得モジュールは、目標段落および目標段落のコンテキストの語句を取得して、目標段落およびコンテキストの語句を記憶符号化モデルに入力し、入力層モジュールは、目標段落のオリジナルベクトル集合および目標段落のコンテキストの語句の記憶ベクトル集合を取得し、記憶層モジュールは、オリジナルベクトル集合および記憶ベクトル集合に基づいてオリジナルベクトル集合の第１の目標語句行列を取得し、出力層モジュールは、第１の目標語句行列に基づいて目標段落の段落ベクトルを取得し、処理モジュールは段落ベクトルに基づいて処理を行う。従って、本開示の実施例は、各語句をそれぞれシリアル方式にて符号化することなく、目標段落を単位とし、目標段落を符号化装置によって符号化するため、符号化速度を向上させることができる。また、符号化過程では、目標段落そのものだけではなく、目標段落のコンテキストの語句も考慮しているので、目標段落における語句とコンテキストの語句との関連性に基づいて目標段落を正確に記述可能な段落ベクトルを取得することができ、符号化の正確度を向上することができる。
【０１０６】
また、本開示の実施例が提供する記憶符号化モデルは、自己注意性を有し、自己注意機構を段落の語句階層に適用して、目標段落およびコンテキストの語句に基づいて統合処理を行うことによって、目標段落の段落ベクトルの表現がより豊かであることを保証でき、目標段落の意味をより正確に記述することができる。また、本開示の実施例は、多くの場面に適用可能であり、通過範囲が広い。
【０１０７】
また、１つの実施例では、入力層モジュール１１０１は、
目標段落の各語句における各段落のそれぞれの単語ベクトルに基づいて、語句符号化モデルによって各語句の語句ベクトルを取得して、オリジナルベクトル集合を取得する第１の取得部と、
コンテキストの語句における各単語のそれぞれの単語ベクトルに基づいて記憶ベクトル集合を取得する第２の取得部とを含む。
【０１０８】
また、１つの実施例では、語句符号化モデルは、第１の語句符号化サブモデルおよび第２の語句符号化サブモデルを含む。第１の取得部は、目標段落の各語句に対して各語句における各単語のそれぞれの単語ベクトルを取得して複数の単語ベクトルを取得し、第１の語句符号化サブモデルによって複数の単語ベクトルを正順に符号化して第１のベクトルを取得し、第２の語句符号化サブモデルによって複数の単語ベクトルを逆順に符号化して第２のベクトルを取得し、第１のベクトルおよび第２のベクトルに基づいて語句の語句ベクトルを取得するために用いられる。
【０１０９】
また、１つの実施例では、記憶層モジュール１１０２は、
記憶モデルによって、記憶ベクトル集合に対応する第１の記憶行列および第２の記憶行列を取得するための記憶取得部と、
オリジナルベクトル集合、第１の記憶行列および第２の記憶行列に基づいてオリジナルベクトル集合の第１の目標語句行列を取得するための第１の目標取得部とを含む。
【０１１０】
また、１つの実施例では、第１の目標取得部は、オリジナルベクトル集合と第１の記憶行列との類似性行列を取得し、類似性行列に対して確率分布演算を行って確率行列を取得し、第２の記憶行列および確率行列に基づいて第１の目標語句行列を取得するために用いられる。
【０１１１】
また、１つの実施例では、装置は、ゲーティング層モジュールをさらに備える。
【０１１２】
ゲーティング層モジュールは、オリジナルベクトル集合と第１の目標語句行列とを重み付け加算して第２の目標語句行列を得ることによって、第２の目標語句行列の各数値が予定数値範囲にあるようにするためのものである。
【０１１３】
出力層モジュール１１０３は、さらに、第２の対象語句行列に基づいて目標段落の段落ベクトルを取得するために用いられる。
【０１１４】
また、１つの実施例では、ゲート制御モジュールは、
線形ネットワークモデルによって、オリジナルベクトル集合に対応する線形数値を取得して、予定関数によって線形数値を処理してオリジナルベクトル集合の第１の重みを得ることによって、第１の重みを予定数値範囲にあるようにするための第１の重み取得部と、
第１の重みに基づいて第１の目標語句行列の第２の重みを決定するための第２の重み取得部と、
第１の重みおよび第２の重みに基づいて、オリジナルベクトル集合と第１の目標語句行列とを重み付き加算して第２の目標語句行列を得る重み付き部とを含む。
【０１１５】
また、１つの実施例では、出力層モジュール１１０３は、
第１の目標語句行列を列方向に加算して段落ベクトルを得るための列方向加算部を含む。
【０１１６】
また、１つの実施例では、記憶層モジュール１１０２は、さらに、第１の目標語句行列を更新後のオリジナルベクトル集合および記憶ベクトル集合として、繰り返し回数が所定の回数に達するまで、更新後のオリジナルベクトル集合および記憶ベクトル集合に基づいて目標文行列を取得するステップを繰り返して実行した場合に、出力層モジュール１１０３をトリガさせるために用いられる。
【０１１７】
出力層モジュール１１０３は、さらに、現在の目標語句行列に基づいて目標段落の段落ベクトルを取得するために用いられる。
【０１１８】
なお、上記の実施例が提供する符号化装置による段落の符号化については、上記のような各機能モジュールの分割のみを例に挙げて説明したが、実際の応用では、必要に応じて、上記の機能を異なる機能モジュールに完了させ、すなわち、符号化機器の内部構成を異なる機能モジュールに分割して以上に述べた全部または一部の機能を完成させるようにしてもよい。なお、上記実施例が提供する符号化装置は、符号化方法の実施例と同一の思想に属し、その具体的な実現過程は方法の実施例を参照できるので、ここでは説明を省略する。
【０１１９】
図１２は、本開示の実施例が提供する端末の構造を示すブロック図である。当該端末１２００は、上記の実施例における符号化機器が実行するステップを実行するためのものであり、例えば、スマートフォン、タブレット、ＭＰ３（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｕｄｉｏ  ＬａｙｅｒＩＩＩ）プレーヤ、ＭＰ４（Ｍｏｖｉｎｇ  Ｐｉｃｔｕｒｅ  Ｅｘｐｅｒｔｓ  Ｇｒｏｕｐ  Ａｕｄｉｏ  ＬａｙｅｒＩＶ）プレーヤ、ノートパソコン、または卓上型パソコンなどのような携帯型の携帯端末であってもよい。端末１２００は、ユーザ機器、携帯端末、ラップトップ型端末、卓上型端末等の他の名称とも称され得る。
【０１２０】
また、端末１２００は、通常、プロセッサ１２０１とメモリ１２０２とを備える。
【０１２１】
プロセッサ１２０１は、４コアのプロセッサ、８コアのプロセッサなどのように１または複数の処理コアを含んでもよい。プロセッサ１２０１は、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ）、ＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、ＰＬＡ（Ｐｒｏｇｒａｍｍａｂｌｅ  Ｌｏｇｉｃ  Ａｒｒａｙ）のうちの少なくとも１つのハードウェアによって実現され得る。プロセッサ１２０１は、メインプロセッサとコプロセッサを含み、メインプロセッサは、ウェイクアップ状態でのデータを処理するためのプロセッサであり、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）とも呼ばれる。コプロセッサは、待機状態でのデータを処理するための低消費電力プロセッサである。また、幾つかの実施例では、プロセッサ１２０１は、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）がさらに集積されてもよく、GPUは、表示画面に表示すべきコンテンツのレンダリングや描画を担当する。また、幾つかの実施例では、プロセッサ１２０１は、機械学習に関する計算動作を行うためのＡＩ（Ａｒｔｉｆｉｃｉａｌ  Ｉｎｔｅｌｌｉｇｅｎｃｅ）プロセッサをさらに含んでもよい。
【０１２２】
メモリ１２０２は、１または複数の非一時的なコンピュータ読取可能な記憶媒体を含んでもよい。また、メモリ１２０２は、高速ランダムアクセスメモリ、および１または複数の磁気ディスク記憶装置、フラッシュメモリなどのような不揮発性メモリをさらに含んでもよい。また、幾つかの実施例では、メモリ１２０２のうちの非一時的なコンピュータ読取可能な記憶媒体は、プロセッサ１２０１によって実行されることにより、本開示に係る方法の実施例が提供する符号化方法を実現するための少なくとも１つのコンピュータ読取可能なコマンドを記憶するためのものである。
【０１２３】
また、いくつかの実施例では、端末１２００は、周辺機器インターフェース１２０３と少なくとも１つの周辺機器とをさらに含んでもよい。プロセッサ１２０１、メモリ１２０２および周辺機器インターフェース１２０３は、バスまたは信号線によって接続される。各周辺機器は、バス、信号線または回路基板を介して周辺機器インターフェース１２０３に接続されてもよい。具体的には、周辺機器は、ＲＦ（無線周波数）回路１２０４と、表示画面１２０５と、カメラアセンブリ１２０６と、オーディオ回路１２０７と、測位アセンブリ１２０８と、電源１２０９のうちの少なくとも１種を含む。
【０１２４】
周辺機器インターフェース１２０３は、Ｉ／Ｏ（Ｉｎｐｕｔ／Ｏｕｔｐｕｔ）に関する少なくとも１つの周辺機器をプロセッサ１２０１およびメモリ１２０２に接続するために用いられる。
【０１２５】
ＲＦ回路１２０４は、電磁信号とも呼ばれるＲＦ（Ｒａｄｉｏ  Ｆｒｅｑｕｅｎｃｙ：無線周波数）信号を送受信するためのものである。
【０１２６】
表示画面１２０５は、ＵＩ（Ｕｓｅｒ  Ｉｎｔｅｒｆａｃｅ）を表示するためのものである。当該UIは、図形、テキスト、アイコン、ビデオおよびそれらの任意の組み合わせを含むことができる。また、表示画面１２０５は、タッチスクリーンである場合、その表面または表面の上方におけるタッチ信号を収集する能力も有している。このタッチ信号は、制御信号としてプロセッサ１２０１に入力して処理を行うことができる。このとき、表示画面１２０５は、仮想ボタンおよび／または仮想キーボード（ソフトボタンおよび／またはソフトキーボードとも言われる）を提供するために用いることもできる。
【０１２７】
カメラアセンブリ１２０６は、画像またはビデオを採集するためのものである。また、カメラアセンブリ１２０６は、フロントカメラとリアカメラとを含む。一般的に、フロントカメラは、端末のフロントパネルに設けられ、リアカメラは、端末の背面に設けられる。
【０１２８】
オーディオ回路１２０７は、マイクおよびスピーカを含む。マイクは、ユーザや環境の音波を収音するとともに、音波を電気信号に変換して、プロセッサ１２０１に入力して処理を行ったり、ＲＦ回路１２０４に入力して音声通信を実現したりするためのものである。スピーカは、プロセッサ１２０１またはＲＦ回路１２０４からの電気信号を音波に変換するためのものである。スピーカは、従来のフィルムスピーカであってもよいし、圧電セラミックスピーカであってもよい。
【０１２９】
測位アセンブリ１２０８は、ナビゲーションやＬＢＳ（Ｌｏｃａｔｉｏｎ  Ｂａｓｅｄ  Ｓｅｒｖｉｃｅ）を実現するために、端末１２００の現在の地理位置を測位するためのものである。
【０１３０】
電源１２０９は、端末１２００内の各構成要素に電力を供給するためのものである。電源１２０９は、交流電源、直流電源、一次電池または二次電池である。電源１２０９が二次電池である場合、当該二次電池は、有線充電または無線充電を支持することができる。当該二次電池は、急速充電技術を支持するために用いられてもよい。
【０１３１】
いくつかの実施例では、端末１２００は、１または複数のセンサ１２１０をさらに備える。１または複数のセンサ１２１０は、加速度センサ１２１１と、ジャイロセンサ１２１２と、圧力センサ１２１３と、指紋センサ１２１４と、光学センサ１２１５と、近接センサ１２１６とを含むが、これらに限定されるものではない。加速度センサ１２１１は、端末１２００で確立した座標系の３つの座標軸における加速度の大きさを検出することができる。ジャイロセンサ１２１２は、端末１２００の機体方向および回動角度を検出することができる。また、ジャイロセンサ１２１２は、加速度センサ１２１１と協働してユーザによる端末１２００への３Ｄ動作を採集することができる。圧力センサ１２１３は、端末１２００のサイドフレームおよび／またはタッチ表示画面１２０５の下層に設けることができる。指紋センサ１２１４は、ユーザの指紋を採集するものである。また、プロセッサ１２０１は、指紋センサ１２１４によって採集された指紋に基づいてユーザの身分を識別し、または、指紋センサ１２１４は、採集した指紋に基づいてユーザの身分を識別する。光学センサ１２１５は、環境光の強度を採集するためのものである。近接センサ１２１６は、距離センサとも呼ばれ、通常端末１２００のフロントパネルに設けられている。近接センサ１２１６は、ユーザと端末１２００の正面との間の距離を取得するためのものである。
【０１３２】
なお、当業者であれば、端末１２００は、図１２に示す構成に限定されず、図示よりも多くまたは少ない要素を含んだり、複数の要素を組み合わせたり、異なる要素の配置を採用したりしてもよいことを理解すべきである。
【０１３３】
図１３は、本開示の実施例が提供するサーバの構成を示す図である。当該サーバ１３００は、構成や性能によっては大きく異なり、１以上のプロセッサ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔｓ，ＣＰＵ）１３０１と１つ以上のメモリ１３０２とを含み、メモリ１３０２には、プロセッサ１３０１がロードされ実行されることによって上記の各方法の実施例が提供する方法を実現するための少なくとも１つのコンピュータ読取可能なコマンドが記憶されている。もちろん、当該サーバは、入出力を行うために有線／無線ネットワークインターフェース、キーボードおよび入出力インターフェースなどの部材を有していてもよく、機器の機能を実現するための他の部材を含んでいてもよく、ここで説明を省略する。
【０１３４】
サーバ１３００は、上記の符号化方法において符号化機器が実行するステップを実行してもよい。
【０１３５】
なお、上記各実施例のフローチャートにおける各ステップは、矢印の指示に従って順次表示されるが、これらのステップは必ずしも矢印で示される順番で実行される必要はない。なお、本明細書に特に説明がない限り、これらのステップの実行順序は、厳密に限定されるものではなく、他の順序で実行されてもよい。そして、上述した各実施例における少なくとも一部のステップは、複数のサブステップまたは複数の段階を含んでもよく、これらのサブステップまたは段階は、必ずしも同一のタイミングで実行される必要がなく、異なるタイミングで実行されてもよく、これらのサブステップまたは段階の実行順序は必ずしも逐次的に行われるものではなく、他のステップまたは他のステップのサブステップまたは段階の少なくとも一部と順番にまたは交互に実行されてもよい。
【０１３６】
また、本開示の実施例は、１または複数のプロセッサと、１または複数のメモリとを備え、当該１または複数のメモリには、１または複数のプロセッサがロードされ実行されることによって上記の実施例に係る符号化方法における動作を実現するための少なくとも１つのコンピュータ読取可能なコマンド、少なくとも１セグメントのプログラム、コードセット、またはコンピュータ読取可能なコマンドセットが記憶される符号化機器をさらに提供する。
【０１３７】
また、本開示の実施例は、１または複数のプロセッサがロードされ実行されることによって上記の実施例に係る符号化方法における動作を実現するための少なくとも１つのコンピュータ読取可能なコマンド、少なくとも１セグメントのプログラム、コードセット、またはコンピュータ読取可能なコマンドセットが記憶されるコンピュータ読取可能な記憶媒体をさらに提供する。
【０１３８】
また、本分野の一般的技術者であれば、上記の実施例の全部または一部のステップは、ハードウェアによって実行されてもよいし、関連するハードウェアが実行するようにプログラムによって指示してもよく、前記プログラムは、コンピュータ読み取り可能な記憶媒体に記憶されてもよく、上記の記憶媒体は、ＲＯＭ、磁気ディスク、光ディスクなどであってもよい。
【０１３９】
以上は、あくまでも本開示の好適な実施例に過ぎなく、本開示を限定するものではなく、本開示の精神と原則内で行われるいかなる修正、均等置換、改善などは、いずれも本開示の保護範囲内に含まれるべきである。
【図１】
2022502758.tif 000003
【図２】
2022502758.tif 000004
【図３】
2022502758.tif 000005
【図４】
2022502758.tif 000006
【図５】
2022502758.tif 000007
【図６】
2022502758.tif 000008
【図７】
2022502758.tif 000009
【図８】
2022502758.tif 000010
【図９】
2022502758.tif 000011
【図１０】
2022502758.tif 000012
【図１１】
2022502758.tif 000013
【図１２】
2022502758.tif 000014
【図１３】
2022502758.tif 000015
【国際調査報告】
2022502758.tif 000016
2022502758.tif 000017
2022502758.tif 000018
2022502758.tif 000019