(57)【要約】  文章評価装置（２）は、入力される文章の評価を行う。文章評価装置は、取得部（２２〜２５）と、演算処理部（２０）とを備える。取得部は、第１の入力文を示す情報および第２の入力文を示す情報を取得する。演算処理部は、取得部によって取得された情報に対して、機械学習に基づくアルゴリズム（３）による情報処理を行う。演算処理部は、機械学習に基づくアルゴリズムにおいて、第１の入力文を認識する第１のエンコーダ（３１）と第２の入力文を認識する第２のエンコーダ（３２）とを備える。演算処理部は、第１のエンコーダにおける第１の入力文の認識結果と第２のエンコーダにおける第２の入力文の認識結果とに基づいて、第２の入力文に対する第１の入力文の評価を示す評価情報を生成する。
2018131259.tif 000002
【特許請求の範囲】
【請求項１】
入力される文章の評価を行う文章評価装置であって、
第１の入力文を示す情報および第２の入力文を示す情報を取得する取得部と、
前記取得部によって取得された情報に対して、機械学習に基づくアルゴリズムによる情報処理を行う演算処理部とを備え、
前記演算処理部は、機械学習に基づくアルゴリズムにおいて、前記第１の入力文を認識する第１のエンコーダと前記第２の入力文を認識する第２のエンコーダとを備え、
前記演算処理部は、前記第１のエンコーダにおける第１の入力文の認識結果と前記第２のエンコーダにおける第２の入力文の認識結果とに基づいて、前記第２の入力文に対する前記第１の入力文の評価を示す評価情報を生成する
文章評価装置。
【請求項２】
前記第１及び第２のエンコーダは、別々の学習パラメータに基づいて機械学習する
請求項１に記載の文章評価装置。
【請求項３】
前記第１のエンコーダは、
複数の要素で構成される所定のデータ構造に基づいて、前記第１の入力文における前記データ構造の各要素を認識し、
前記第２のエンコーダにおける第２の入力文の認識結果を参照して、前記第１の入力文の各要素において前記第２の入力文に対する重要度を判定する
請求項１又は２に記載の文章評価装置。
【請求項４】
前記演算処理部は、前記判定された重要度に応じて前記評価を示す評価情報を生成する
請求項３に記載の文章評価装置。
【請求項５】
前記所定のデータ構造は、親ノード及び子ノードを有する木構造、及び子ノードが互いに重複する複数の木構造を含むデータ構造の内の少なくとも一方を含む
請求項３又は４に記載の文章評価装置。
【請求項６】
前記第２のエンコーダは、
複数の要素で構成される所定のデータ構造に基づいて、前記第２の入力文における前記データ構造の各要素を認識し、
前記第１のエンコーダにおける第１の入力文の認識結果を参照して、前記第２の入力文の各要素において前記第１の入力文に対する重要度を判定する
請求項１〜５のいずれか１項に記載の文章評価装置。
【請求項７】
前記演算処理部は、機械学習に基づくアルゴリズムにおいて、前記第１のエンコーダにおける第１の入力文の認識結果と前記第２のエンコーダにおける第２の入力文の認識結果とを統合する演算処理を行う全結合層をさらに備える
請求項１〜６のいずれか１項に記載の文章評価装置。
【請求項８】
前記全結合層は、ロジスティック関数に基づく演算処理を行う
請求項７に記載の文章評価装置。
【請求項９】
前記第１の入力文は、翻訳機による機械翻訳の結果の翻訳文であり、
前記第２の入力文は、前記翻訳機による機械翻訳の対象となった翻訳原文、及び前記翻訳原文の翻訳における正解例を示す正解文の内のいずれかである
請求項１〜８のいずれか１項に記載の文章評価装置。
【請求項１０】
前記評価情報は、前記第１及び第２の入力文間の類似度、前記第２の入力文に対する前記第１の入力文の整合性、前記第１の入力文に対する複数段階の分類、および前記第１の入力文中の特定の箇所の内の少なくとも一つ示す情報を含む
請求項１〜９のいずれか１項に記載の文章評価装置。
【請求項１１】
文章評価装置に入力される文章の評価を実行する文章評価方法であって、
第１の入力文を示す情報を取得するステップと、
第２の入力文を示す情報を取得するステップと、
機械学習に基づく第１のエンコーダにおいて、前記第１の入力文を認識するステップと、
前記第１のエンコーダとは別の第２のエンコーダにおいて、前記第２の入力文を認識するステップと、
前記第１のエンコーダにおける第１の入力文の認識結果と前記第２のエンコーダにおける第２の入力文の認識結果とに基づいて、前記第２の入力文に対する前記第１の入力文の評価を示す評価情報を生成するステップと
を含む文章評価方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、入力される文章の評価を行う文章評価装置及び文章評価方法に関する。
【背景技術】
【０００２】
特許文献１は、翻訳機などの翻訳性能や翻訳能力を確認する評価の効率化を図るための訳文評価装置を開示している。特許文献１は、訳文評価装置を用いた評価の目的に応じて、基礎原文と模範訳文とを関連付けた評価用のデータベースを作成している。特許文献１の訳文評価装置は、作成された評価用のデータベースに基づいて、機械的に翻訳文の評価を行っている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−２７６５１７号公報
【非特許文献】
【０００４】
【非特許文献１】Ｋ．Ｓ．Ｔａｉ，ｅｔ  ａｌ．，“Ｉｍｐｒｏｖｅｄ  Ｓｅｍａｎｔｉｃ  Ｒｅｐｒｅｓｅｎｔａｔｉｏｎｓ  Ｆｒｏｍ  Ｔｒｅｅ−Ｓｔｒｕｃｔｕｒｅｄ  Ｌｏｎｇ  Ｓｈｏｒｔ  Ｔｅｒｍ  Ｍｅｍｏｒｙ  Ｎｅｔｗｏｒｋｓ”，ｅｐｒｉｎｔ  ａｒＸｉｖ：１５０３．０００７５，Ｍａｙ  ２０１５．
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本開示は、文章を自動で評価させる際に適切な文章の評価が行われ易くすることができる文章評価装置及び文章評価方法を提供する。
【課題を解決するための手段】
【０００６】
本開示の一態様における文章評価装置は、入力される文章の評価を行う。文章評価装置は、取得部と、演算処理部とを備える。取得部は、第１の入力文を示す情報および第２の入力文を示す情報を取得する。演算処理部は、取得部によって取得された情報に対して、機械学習に基づくアルゴリズムによる情報処理を行う。演算処理部は、機械学習に基づくアルゴリズムにおいて、第１の入力文を認識する第１のエンコーダと、第２の入力文を認識する第２のエンコーダとを備える。演算処理部は、第１のエンコーダにおける第１の入力文の認識結果と第２のエンコーダにおける第２の入力文の認識結果とに基づいて、第２の入力文に対する第１の入力文の評価を示す評価情報を生成する。【０００７】
本開示の一態様における文章評価方法は、文章評価装置に入力される文章の評価を実行する方法である。
【発明の効果】
【０００８】
本開示における文章評価装置及び文章評価方法によると、機械学習に基づく二つのエンコーダを用いて各入力文を認識することにより、文章を自動で評価させる際に適切な文章の評価が行われ易くすることができる。
【図面の簡単な説明】
【０００９】
【図１】実施形態１に係る文章評価装置の概要を説明するための図
【図２】翻訳機における対訳コーパスを説明するための図
【図３】実施形態１に係る文章評価装置の構成を例示するブロック図
【図４】文章評価装置における主観評価の学習用データを説明するための図
【図５】文章評価装置におけるユーザインタフェースの表示例を示す図
【図６】実施形態１に係る文章評価装置の実行モードの動作を示すフローチャート
【図７】文章評価装置における深層ニューラルネットワークを説明するための図
【図８】深層ニューラルネットワークによる文章評価処理を説明するためのフローチャート
【図９】文章評価処理におけるデータ構造の変形例を説明するための図
【図１０】実施形態１におけるＨＴ−ＬＳＴＭ部を説明するための図
【図１１】文章評価装置の学習モードの動作を示すフローチャート
【図１２】実施形態１の変形例に係る文章評価装置の実行モードの動作を示すフローチャート
【図１３】実施形態２におけるＨＴ−ＬＳＴＭ部を説明するための図
【図１４】実施形態２の変形例１におけるＨＴ−ＬＳＴＭ部を説明するための図
【図１５】実施形態２の変形例２におけるＨＴ−ＬＳＴＭ部を説明するための図
【発明を実施するための形態】
【００１０】
以下、適宜図面を参照しながら、実施の形態を詳細に説明する。但し、必要以上に詳細な説明は省略する場合がある。例えば、既によく知られた事項の詳細説明や実質的に同一の構成に対する重複説明を省略する場合がある。これは、以下の説明が不必要に冗長になるのを避け、当業者の理解を容易にするためである。
【００１１】
なお、出願人は、当業者が本開示を十分に理解するために添付図面および以下の説明を提供するのであって、これらによって特許請求の範囲に記載の主題を限定することを意図するものではない。
【００１２】
（実施形態１）
１．構成
実施形態１では、翻訳文の評価を自動で行う文章評価装置及び方法について説明する。
【００１３】
１−１．概要
本実施形態に係る文章評価装置及び方法の概要について、図１を参照して説明する。図１は、本実施形態に係る文章評価装置２の概要を説明するための図である。
【００１４】
本実施形態では、図１に示すように、機械翻訳を行う翻訳機１による翻訳精度の主観評価を、文章評価装置２によって行うことを想定している。主観評価とは、人の主観的な観点から、例えば翻訳機１に入力する入力文（翻訳原文）を翻訳した際の正解例を示す正解文と、翻訳機１による翻訳結果の出力文（翻訳文）とを比較し、出力文による入力文の翻訳精度を分類する評価をいう。
【００１５】
例えば、入力文「京都から東京までどうやって行けば良いですか」に対する翻訳機１の出力文が「How can I get to Tokyo from Kyoto」である場合、出力文は入力文を正しく翻訳していると考えられる。そこで、主観評価において、このような翻訳機１の出力文は、例えば４段階評価「Bad(1)」、「Not-Good(2)」、「So-so(3)」及び「Good(4)」において最も良い「Good(4)」に分類される。
【００１６】
一方、上記の入力文に対して、翻訳機１の出力文が「How can I get to Kyoto from Tokyo」である場合には、「Kyoto」、「Tokyo」の二単語が評価「Good（4）」の出力文から入れ替わることで、出力文で表される文章の意味が翻訳結果として間違っていると感じられる。このような場合の主観評価は、例えば最も悪い「Bad(1)」の分類になる。
【００１７】
上記のような主観評価は通常、翻訳機１の性能評価のために人手で行われ、人手による膨大な作業量を要していた。一方で、翻訳機１の性能評価を機械的に行う手法としては、例えばＢＬＥＵが知られている（特許文献１参照）。しかしながら、ＢＬＥＵによると、正解文と出力文との間で連続して一致する単語数を数えるような評価が為され、文章で表される意味の観点からの評価を実現し難いという問題がある。
【００１８】
例えば、正解文中で「right」という単語に対応する部分が、「left」になっている第１の出力文と、「right hand side」になっている第２の出力文とがある場合に、正解文と違う単語数を数えると、第１の出力文では一単語である一方、第２の出力文では二単語になる。このため、ＢＬＥＵによると、正解文（「right」）とは真逆の意味を表すような第１の出力文（「left」）が、正解文とは同じ意味を別表現で表す第２の出力文（「right hand side」）よりも良い評価になってしまい、人の主観に適合した評価を実現することが困難であった。
【００１９】
そこで、本実施形態では、文章評価装置２で自動的に翻訳文の評価を行う方法に機械学習を導入して、機械学習において人の主観に適合した評価基準を文章評価装置２に獲得させる。以下、本実施形態における評価対象の翻訳機１の例、及び本実施形態に係る文章評価装置２の構成について説明する。
【００２０】
１−２．翻訳機について
本実施形態では、一例として、機械学習に基づく翻訳処理を行う翻訳機１を想定している。本実施形態における翻訳機１の例について、図１を参照して説明する。
【００２１】
本例において、翻訳機１は、図１に示すように、制御部１０と、記憶部１１とを備える。翻訳機１は、例えばＰＣ（パーソナルコンピュータ）で構成される。翻訳機１は、種々の情報端末、或いはサーバ装置などで構成されてもよい。
【００２２】
翻訳機１において、制御部１０は、翻訳機１における各部の動作全体を制御する。制御部１０は、例えばソフトウェアと協働して所定の機能を実現するＣＰＵを含む。制御部１０は、記憶部１１に格納されたデータやプログラムを読み出して種々の演算処理を行い、翻訳機１の各種機能を実現する。
【００２３】
例えば、制御部１０は、機械学習に基づき所定の入力言語（例えば日本語）における翻訳対象の翻訳原文を、入力言語とは異なる出力言語（例えば英語）に機械翻訳して翻訳文を出力する翻訳処理を実行したり、当該翻訳処理の機械学習を制御したりする。入力言語及び出力言語は、種々の自然言語であってもよい。また、制御部１０は、翻訳原文を含む各種入力情報を外部から受信したり、翻訳文を含む各種出力情報を外部に送信したりする通信制御を適宜、行う。
【００２４】
記憶部１１は、翻訳機１の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体であり、例えばハードディスク（ＨＤＤ）や半導体記憶装置（ＳＳＤ）で構成される。例えば、記憶部１１は、翻訳機１が翻訳処理を実行するためのプログラムや各種パラメータ、及び対訳コーパスＤ１、入出力言語の語彙を示す情報などを格納する。対訳コーパスＤ１について、図２を用いて説明する。
【００２５】
図２は、翻訳機１における対訳コーパスＤ１を説明するための図である。対訳コーパスＤ１は、翻訳機１の機械学習に利用するために入出力言語間の対訳を示すデータのコーパスである。対訳コーパスＤ１は、図２に示すように、翻訳原文と正解文とをペアで関連付けて記録する。対訳コーパスＤ１における翻訳原文は、学習時等の翻訳機１に入力する入力言語の例文である。正解文は、対訳コーパスＤ１で関連付けされた翻訳原文を出力言語に翻訳した際の正解例を示す例文である。
【００２６】
対訳コーパスＤ１は、例えば１０万文（ペア）等の大量の翻訳原文及び正解文のデータを格納し、例えば１０万文中で９万文の訓練用データと１万文の評価用データとを含む。例えば、対訳コーパスＤ１における訓練用データを用いて翻訳機１の機械学習が行われ、残りの評価用データを用いて翻訳機１の性能評価が行われる。
【００２７】
以上のような機械学習に基づく翻訳機１によると、異なる学習結果を有する複数種類の翻訳機１が取り扱われる場合がある。このため、人手で行う主観評価では、翻訳機１の一種類当たりに要する作業量が膨大であるだけでなく、複数種類の翻訳機１をそれぞれ評価する必要も生じてしまっていた。これに対して、本実施形態に係る文章評価方法及び装置２を用いることで、複数種類の翻訳機１の中から人手で行う主観評価の対象とする機種を絞り込む等により、人手で行われる作業量を低減するようなこともできる。
【００２８】
１−３．文章評価装置の構成
図３を参照して、本実施形態に係る文章評価装置２のハードウェア構成を説明する。図３は、文章評価装置２の構成を例示するブロック図である。
【００２９】
文章評価装置２は、例えばＰＣや種々の情報端末などの情報処理装置で構成される。文章評価装置２は、図３に示すように、演算処理部２０と、記憶部２１と、機器インタフェース２２と、ネットワークインタフェース２３とを備える（以下、「インタフェース」を「Ｉ／Ｆ」という。）。また、文章評価装置２は、操作部２４と、表示部２５とを備える。
【００３０】
演算処理部２０は、例えばソフトウェアと協働して所定の機能を実現するＣＰＵやＧＰＵを含み、文章評価装置２の全体動作を制御する。演算処理部２０は、記憶部２１に格納されたデータやプログラムを読み出して種々の演算処理を行い、各種の機能を実現する。例えば、演算処理部２０は、後述する深層ニューラルネットワークを構築するプログラムを実行する。上記のプログラムは、各種の通信ネットワークから提供されてもよいし、可搬性を有する記録媒体に格納されていてもよい。
【００３１】
なお、演算処理部２０は、所定の機能を実現するように設計された専用の電子回路や再構成可能な電子回路などのハードウェア回路であってもよい。演算処理部２０は、ＣＰＵ、ＭＰＵ、ＧＰＵ、ＧＰＧＰＵ、ＴＰＵ、マイコン、ＤＳＰ、ＦＰＧＡ、ＡＳＩＣ等の種々の半導体集積回路で構成されてもよい。
【００３２】
記憶部２１は、文章評価装置２の機能を実現するために必要なプログラム及びデータを記憶する記憶媒体である。例えば、記憶部２１は、機械学習を行うニューラルネットワークとして機能するための、学習対象のパラメータ群（以下「学習パラメータ」という。）を記憶する。記憶部２１は、図３に示すように、格納部２１ａ及び一時記憶部２１ｂを含む。
【００３３】
格納部２１ａは、所定の機能を実現するために必要なパラメータ、データ及び制御プログラム等を格納する。格納部２１ａは、例えばＨＤＤやＳＳＤで構成される。例えば、格納部２１ａは、深層ニューラルネットワークのためのプログラム、（学習済みの）学習パラメータ、及び主観評価の学習用データＤ２などを格納する。主観評価の学習用データＤ２については後述する。
【００３４】
一時記憶部２１ｂは、例えばＤＲＡＭやＳＲＡＭ等のＲＡＭで構成され、データを一時的に記憶（保持）する。また、一時記憶部２１ｂは、演算処理部２０の作業エリアとして機能してもよく、演算処理部２０の内部メモリにおける記憶領域で構成されてもよい。一時記憶部２１ｂには、例えば、深層ニューラルネットワークにおいて生成される各種ベクトル変数、及び（学習中の）学習パラメータなどが保持される。例えばＧＰＵで高速に演算する場合には、各種パラメータ及び演算中の中間状態（中間ベクトル）はＧＰＵ上の記憶領域に保持される。
【００３５】
機器Ｉ／Ｆ２２は、文章評価装置２に、翻訳機１等の外部機器を接続するための回路（モジュール）である。機器Ｉ／Ｆ２２は、所定の通信規格にしたがい通信を行う取得部の一例である。所定の規格には、ＵＳＢ、ＨＤＭＩ（登録商標）、ＩＥＥＥ１３９５、ＷｉＦｉ、Ｂｌｕｅｔｏｏｔｈ（登録商標）等が含まれる。
【００３６】
ネットワークＩ／Ｆ２３は、無線または有線の通信回線を介して文章評価装置２を通信ネットワークに接続するための回路（モジュール）である。ネットワークＩ／Ｆ２３は所定の通信規格に準拠した通信を行う取得部の一例である。所定の通信規格には、ＩＥＥＥ８０２．３，ＩＥＥＥ８０２．１１ａ／１１ｂ／１１ｇ／１１ａｃ等の通信規格が含まれる。
【００３７】
操作部２４は、ユーザが操作を行うユーザインタフェースである。操作部２４は、例えば、キーボード、タッチパッド、タッチパネル、ボタン、スイッチ、及びこれらの組み合わせで構成される。操作部２４は、ユーザによって入力される諸情報を取得する取得部の一例である。なお、文章評価装置２における取得部は、例えば各種記憶媒体（例えば格納部２１ａ）に格納された諸情報を演算処理部２０の作業エリア（例えば一時記憶部２１ｂ）に読み出すことによって諸情報の取得を行うものであってもよい。
【００３８】
表示部２５は、例えば、液晶ディスプレイや有機ＥＬディスプレイで構成される。表示部２５は、例えば操作部２４から入力された情報など、種々の情報を表示する。
【００３９】
以上の説明では、ＰＣ等で構成される文章評価装置２の一例を説明した。本開示に係る文章評価装置２はこれに限定されず、種々の情報処理装置であってもよい。例えば、文章評価装置２は、ＡＳＰサーバなどの一つ又は複数のサーバ装置であってもよい。例えば、文章評価装置２は、外部から通信ネットワークを介して入力された翻訳文をネットワークＩ／Ｆ２３により取得して、深層ニューラルネットワークによる情報処理を実行してもよい。また、文章評価装置２は、情報処理の実行結果の情報（評価情報）を、通信ネットワークを介して外部に送信してもよい。また、コンピュータクラスタ或いはクラウドコンピューティングなどにおいて、本開示に係る深層ニューラルネットワークが構築されてもよい。
【００４０】
１−３−１．主観評価の学習用データについて
主観評価の学習用データＤ２について、図４を参照して説明する。図４は、文章評価装置２における主観評価の学習用データを説明するための図である。
【００４１】
主観評価の学習用データＤ２は、文章評価装置２の機械学習において、文章評価装置２に学習させるためのデータである。主観評価の学習用データＤ２は、図４に示すように、翻訳文と、正解文と、主観評価結果とを関連付けて記録する。主観評価結果は、主観評価の学習用データＤ２において互いに関連付けされた正解文に対する翻訳文の主観評価が予め行われた結果であり、例えば４段階評価の値「４」〜「１」が格納される。
【００４２】
主観評価の学習用データＤ２は、例えば過去に人手で行われた主観評価に基づいて作成される。このような主観評価の学習用データＤ２を用いて文章評価装置２の機械学習を行うことにより、過去に行われた主観評価における人の主観に適合した評価基準を文章評価装置２に獲得させることが可能になる。
【００４３】
２．動作
以上のように構成される文章評価装置２の動作について、以下説明する。
【００４４】
２−１．動作の概要
本実施形態に係る文章評価装置２の動作の概要について、図５を用いて説明する。図５は、文章評価装置２におけるユーザインタフェースの表示例を示す図である。
【００４５】
本実施形態では、文章評価装置２による評価を行う際に、対訳コーパスＤ１（図２）において翻訳機１の学習に使用しなかった評価用データを用いて、評価用データの翻訳原文を翻訳機１に翻訳させる例を説明する。図５の表示例において、文章評価装置２の表示部２５は、翻訳原文「右手にあります」と正解文「It is on your right hand side」とを表示している。図５の表示例では、翻訳機１による翻訳結果として、翻訳文「It is on your left」が表示されている。
【００４６】
図５の表示例において、文章評価装置２は、上記の翻訳文に対する評価の実行結果として、翻訳文の一部の箇所「left」を強調表示したり、正解文に対する翻訳文の評価および類似度を表示したりしている。類似度は、翻訳文と正解文とが類似する度合いを示しており、本表示例では百分率で表示されている。
【００４７】
本例では、翻訳文中の「left」が、正解文において「right」に対応すべき部分であり、翻訳文と正解文（翻訳原文）とで表現される意味を真逆にしていると考えられる。このことから、本実施形態に係る文章評価装置２は、正解文に対して非類似である非類似箇所として翻訳文中の「left」を検出し、検出結果に応じて類似度などを算出する。
【００４８】
また、本表示例では、原因文が列挙されている。原因文は、翻訳機１が例えば翻訳原文中の「右」に対して非類似箇所「left」という誤訳を行うように学習された原因と考えられる文章であり、対訳コーパスＤ１において正解文（及び翻訳原文）として含まれることが想定される。本実施形態に係る文章評価装置２によると、非類似箇所の検出により、翻訳機１の対訳コーパスＤ１から誤訳の原因文を検索するようなこともできる。以下、本実施形態に係る文章評価装置２の動作の詳細について説明する。
【００４９】
２−２．実行モードの動作
本実施形態に係る文章評価装置２において文章評価方法が実行される実行モードの全体動作について、図６を用いて説明する。
【００５０】
図６は、文章評価装置２の実行モードの動作を示すフローチャートである。図６に示すフローチャートは、文章評価装置２の機械学習が為された状態において、演算処理部２０によって実行される。
【００５１】
まず、文章評価装置２は、翻訳機１から、例えば機器Ｉ／Ｆ２２（或いはネットワークＩ／Ｆ２３）を介して、翻訳文を取得する（Ｓ１）。本実施形態では、翻訳機１は対訳コーパスＤ１における評価用データに含まれる翻訳原文を機械翻訳し、翻訳結果の翻訳文を文章評価装置２に送信する。ステップＳ１で取得される翻訳文は、本実施形態における文章評価装置２の評価対象となる第１の入力文の一例である。
【００５２】
次に、文章評価装置２は、例えば翻訳機１から翻訳の対象となった翻訳原文と共に、翻訳機１の対訳コーパスＤ１において当該翻訳原文に関連付けされた正解文を取得する（Ｓ２）。ステップＳ２で取得される正解文は、本実施形態において翻訳原文と比較される第２の入力文の一例である。
【００５３】
次に、文章評価装置２は、取得した翻訳文及び正解文に基づいて、文章評価処理を実行する（Ｓ３）。文章評価処理は、深層学習に基づいて、正解文に対する翻訳文の評価を示す評価情報を生成する処理である。評価情報は、類似度を示す情報や翻訳文における非類似箇所を示す情報などを含む。ステップＳ３の文章評価処理の詳細については後述する。
【００５４】
次に、文章評価装置２は、文章評価処理（Ｓ３）によって生成された評価情報に基づいて、翻訳文と正解文とが類似しているか否かを判断する（Ｓ４）。具体的に、文章評価装置２の演算処理部２０が、評価情報に含まれる類似度を所定のしきい値と比較することにより、ステップＳ４の処理を実行する。
【００５５】
文章評価装置２は、翻訳文と正解文とが類似していないと判断した場合（Ｓ４でＮＯ）、生成された評価情報に基づいて、翻訳文中の非類似箇所を検出する（Ｓ５）。非類似箇所は、翻訳文中の一単語であってもよいし、複数の単語から成る句であってもよい。
【００５６】
また、文章評価装置２は、例えば検出した非類似箇所を示す情報を含むコマンドを翻訳機１に発行して、対訳コーパスＤ１において非類似箇所が含まれる原因文を検索させる（Ｓ６）。受信したコマンドに基づいて、翻訳機１は対訳コーパスＤ１中の訓練用データにおいて原因文を検索し、文章評価装置２は、翻訳機１から検索結果を示す情報を受信する。
【００５７】
次に、文章評価装置２は、ステップＳ３〜Ｓ６において得られた各種評価情報を表示部２５に、例えば図５の表示例に示すように表示する（Ｓ７）。例えば、文章評価装置２は、ステップＳ３で生成された評価情報が示す類似度を百分率に換算して表示したり、４段階などの多段階評価において類似度の値（４３．２％）に対応する分類（Bad(1)）を表示したりする。
【００５８】
一方、翻訳文と正解文とが類似していると判断した場合（Ｓ４でＹＥＳ）、文章評価装置２は、ステップＳ５，Ｓ６の処理を特に行うことなく、ステップＳ７の処理に進む（Ｓ７）。この場合、文章評価装置２は、例えば類似度や類似度に対応する多段階評価の分類などを表示部２５に表示する。
【００５９】
文章評価装置２は、各種評価情報を表示することにより（Ｓ７）、本フローチャートによる処理を終了する。
【００６０】
以上の処理によると、翻訳機１の翻訳結果に対する主観評価を文章評価装置２において自動で行うことができる。
【００６１】
以上の処理において、ステップＳ２における翻訳原文の取得は適宜、省略されてもよい。また、正解文の取得元は翻訳機１に限らず、例えば、翻訳機１の学習に用いた対訳コーパスＤ１と同じデータが予め記憶された記憶媒体から取得されてもよい。また、以上の処理は、別途用意された対訳コーパスを用いて行われてもよい。
【００６２】
また、以上の説明では、文章評価装置２ｎによる評価対象が翻訳機１の翻訳結果である例について説明したが、これに限らず、例えばユーザが入力した翻訳文を文章評価装置２の評価対象としてもよい。
【００６３】
２−３．文章評価処理
以下、図６のステップＳ３の文章評価処理について説明する。本実施形態において、文章評価処理は、文章評価装置２において深層学習の対象となる深層ニューラルネットワークを構築して実行される。本実施形態に係る深層ニューラルネットワークについて、図７を用いて説明する。
【００６４】
２−３−１．深層ニューラルネットワークについて
図７は、文章評価装置２における深層ニューラルネットワーク３を説明するための図である。本実施形態において、深層ニューラルネットワーク３は、文章評価装置２の演算処理部２０（図３）において構築される。
【００６５】
本実施形態に係る深層ニューラルネットワーク３は、図７に示すように、翻訳文を認識するための第１のエンコーダ３１と、正解文を認識するための第２のエンコーダ３２と、全結合層３３とを備える。図７では、説明の簡単化のため、深層ニューラルネットワーク３において翻訳文「on your left」が第１のエンコーダ３１に入力され、正解文「right hand side」が第１のエンコーダ３１に入力された例を示している。
【００６６】
第１のエンコーダ３１は、第１のツリーＬＳＴＭ処理部３１ａと、第１のアテンション処理部３１ｂとを備える。同様に、第２のエンコーダ３２は、第２のツリーＬＳＴＭ処理部３２ａと、第２のアテンション処理部３２ｂとを備える。
【００６７】
第１のツリーＬＳＴＭ処理部３１ａは、所定のデータ構造に基づいて、図６のステップＳ１において取得された翻訳文を認識するための処理を実行する。本実施形態において、第１のツリーＬＳＴＭ処理部３１ａは、例えば木構造における二分木のように二つのノードを一組の子ノードとして有する親ノードを、網羅的に含むデータ構造において、翻訳文を認識する。
【００６８】
例えば、図７の例では、翻訳文「on your left」において、連続する二単語「on」、「your」を一組の子ノードとして当該二単語から成る句「on your」が親ノードとして認識され、さらに二単語「your」、「left」から成る句「your left」が次の親ノードとして認識される。また、二単語から成る句が全て認識されると、認識された句を子ノードとして、より大きい単語数の句を表す親ノードが順次、認識される。このような認識処理は、処理対象の文全体を表す親ノード（ｈ［ｒｏｏｔ］）が認識されるまで繰り返される。
【００６９】
上記のようなデータ構造は、通常の木構造と同様に、処理対象の文全体を表す根ノードから文中の各単語を表す葉ノードまで世代別に階層化された複数のノードを要素として含む。複数のノードは、世代間で上位側の親ノードと下位側の子ノードとによる親子関係で関連付けられ、親ノードは複数の子ノード（兄弟ノード）を有し得る。これに加えて、当該データ構造では、部分的に重複する木構造を含んでもよく、例えば隣接する親ノード間で、子ノードの一部が重複してもよいこととする。以下、このようなデータ構造で表されるデータを「木データ」という。
【００７０】
第１のツリーＬＳＴＭ処理部３１ａは、木データの要素毎の認識処理を行うＨＴ（ハイウェイツリー）−ＬＳＴＭ部５を含む。ＨＴ−ＬＳＴＭ部５は、本開示に係る新規のニューラルネットワークであるＨＴ−ＬＳＴＭによる処理を実行する。ＨＴ−ＬＳＴＭ部５の詳細については後述する。
【００７１】
第１のアテンション処理部３１ｂは、例えばフィードフォワードニューラルネットワークで構成され、第１のツリーＬＳＴＭ処理部３１ａの認識結果に基づいて、翻訳文の木データにおける要素毎の重要度を判定するためのアテンション処理を実行する（図８のＳ２０参照）。本処理では、正解文に対する重要度を得るために、第２のツリーＬＳＴＭ処理部３２ａの認識結果が参照される。アテンション処理の詳細については後述する。
【００７２】
第１のツリーＬＳＴＭ処理部３１ａ及び第１のアテンション処理部３１ｂによると、深層ニューラルネットワーク３において翻訳文を木データとしてエンコード（すなわち認識）する第１のエンコーダ３１が構成される。
【００７３】
第２のツリーＬＳＴＭ処理部３２ａは、例えば上記のデータ構造に基づき、図６のステップＳ２において取得された正解文を木データとして認識する。第２のツリーＬＳＴＭ処理部３２ａは、例えば第１のツリーＬＳＴＭ処理部３１ａのＨＴ−ＬＳＴＭ部５と同様に、木データの要素毎の認識処理を行うＨＴ−ＬＳＴＭ部５’を含む。二つのＨＴ−ＬＳＴＭ部５，５’は、例えば別々の学習パラメータを有する。
【００７４】
第２のアテンション処理部３２ｂは、第１のアテンション処理部３１ｂと同様の処理を、第１及び第２のツリーＬＳＴＭ処理部３１ａ，３２ａの認識結果の扱いを入れ替えて実行し、正解文の木データにおける要素毎の重要度を判定する（図８のＳ２１参照）。第２のアテンション処理部３２ｂは、例えば第１のアテンション処理部３１ｂと同様の構成において別の学習パラメータを有する。
【００７５】
第２のツリーＬＳＴＭ処理部３２ａ及び第２のアテンション処理部３２ｂによると、深層ニューラルネットワーク３において正解文をエンコードする第２のエンコーダ３２が構成される。
【００７６】
全結合層３３は、第１及び第２のエンコーダ３１，３２のエンコード結果に基づいて、例えばロジットモデルの演算により、翻訳文と正解文との間の類似度を算出する（図８のＳ２２）。全結合層３３における類似度の算出処理の詳細については後述する。
【００７７】
２−３−２．文章評価処理の詳細
以上のように構築される深層ニューラルネットワーク３による文章評価処理（図６のＳ３）の詳細について、図７，８を用いて説明する。図８は、文章評価処理を説明するためのフローチャートである。
【００７８】
図８のフローチャートは、翻訳文及び正解文が取得された状態において（図６のＳ１，Ｓ２）、文章評価装置２の演算処理部２０（図３）によって実行される。
【００７９】
まず、演算処理部２０は、第１のツリーＬＳＴＭ処理部３１ａのＨＴ−ＬＳＴＭ部５として機能し（図７参照）、翻訳文の木データにおける一組の子ノードに対する親ノードを認識する（Ｓ１０）。本処理において、演算処理部２０は、親ノードの認識結果として出力ベクトルｈ［ｊ，ｎ］を生成し、記憶部２１（例えば格納部２１ａ）に記録する。
【００８０】
ここで、上記の出力ベクトルｈ［ｊ，ｎ］における添字ｊは、木データにおいて一要素（ノード）が属する世代を分類する世代数を示す。例えば世代数が「ｊ」の親ノードに対する子ノードの世代数は「ｊ−１」である。また、添字ｎは、木データの同じ世代における別々の要素を識別する番号を示す。添字ｎは、処理対象の文中の並び順において文頭側（以下「左側」という）の要素ほど小さく、文末側（以下「右側」という）の要素ほど大きい。
【００８１】
本実施形態では、ステップＳ１０において演算処理部２０は、世代数「ｊ−１」の要素中で隣り合う二つ子ノードを一組として選択する。演算処理部２０は、選択した一組の子ノードにおける各子ノードの出力ベクトルｈ［ｊ−１，ｎ］，ｈ［ｊ−１，ｎ＋１］に基づいて、後述するＨＴ−ＬＳＴＭの演算処理を実行し、親ノードの出力ベクトルｈ［ｊ，ｎ］を生成する。
【００８２】
次に、演算処理部２０は、例えば選択した一組の子ノードの添字ｎに基づいて、隣り合う子ノードの全ての組が選択されたか否かを判断する（Ｓ１１）。ステップＳ１１の判断は、特定の世代数ｊにおいて、種々の組の子ノードに対する親ノードを漏れなく認識するために行われる。演算処理部２０は、全ての組の子ノードが選択されていないと判断した場合（Ｓ１１でＮＯ）、例えば処理対象の文中で左側から右側の順番において次の組の子ノードを選択して（Ｓ１２）、ステップＳ１０の処理に戻る。
【００８３】
例えば、図７の例において演算処理部２０は、二単語「on」、「your」から句「on your」を表す親ノードを認識した後に、ステップＳ１１で「ＮＯ」に進み、一単語分、右側の二単語「your」、「left」を表す子ノードの組を選択する（Ｓ１２）。すると、二単語「your」、「left」から新たな句「your left」を表す親ノードが認識される（Ｓ１０）。
【００８４】
一方、演算処理部２０は、特定の世代数ｊにおいて全ての組の子ノードが選択されたと判断した場合（Ｓ１１でＹＥＳ）、ルートベクトルｈ［ｒｏｏｔ］が得られたか否かを判断する（Ｓ１３）。ルートベクトルｈ［ｒｏｏｔ］は、木データにおける根ノードが親ノードとして認識された際の出力ベクトルであり、例えば世代数ｊの最大値Ｊを用いてｈ［ｒｏｏｔ］＝ｈ［Ｊ，１］で表される。
【００８５】
演算処理部２０は、ルートベクトルｈ［ｒｏｏｔ］が得られていないと判断した場合（Ｓ１３でＮＯ）、世代数ｊをインクリメントして（Ｓ１４）、ステップＳ１０の処理に戻る。これにより、翻訳文の木データにおける全要素が認識されるまで、演算処理部２０はステップＳ１０〜Ｓ１４の処理を繰り返す。
【００８６】
例えば、図５の例において演算処理部２０は、句「your left」を表す親ノードを認識したとき（Ｓ１０）、ステップＳ１１で「ＹＥＳ」に進み、ステップＳ１３で「ＮＯ」に進む。すると、演算処理部２０は続くステップＳ１０において、連続する二つの句「on your」、「your left」の親ノードの認識結果として、翻訳文「on your left」全体に対応するルートベクトルｈ［ｒｏｏｔ］を生成する。この際、演算処理部２０はステップＳ１４で「ＹＥＳ」に進む。
【００８７】
演算処理部２０は、翻訳文のルートベクトルｈ［ｒｏｏｔ］が得られたと判断した場合（Ｓ１４でＹＥＳ）、翻訳文の木データの認識を完了して、ステップＳ１５の処理に進む。ステップＳ１０〜Ｓ１４の処理により、翻訳文の木データの認識結果として出力ベクトルの組｛ｈ［ｊ，ｎ］｝が得られる。
【００８８】
ステップＳ１５〜Ｓ１９において、演算処理部２０は、第２のツリーＬＳＴＭ処理部３２ａとして機能し、例えばステップＳ１０〜Ｓ１４と同様の処理を、正解文に対して実行する。演算処理部２０は、ＨＴ−ＬＳＴＭ部５’として正解文のルートベクトルｈＨ［ｒｏｏｔ］を生成するまでステップＳ１５〜１９の処理を繰り返し、正解文の木データの認識結果として正解文の出力ベクトルの組｛ｈＨ［ｊ，ｎ］｝を記憶部２１に記録する。なお、ステップＳ１５〜Ｓ１９の処理は、ステップＳ１０〜Ｓ１４の後でなくてもよく、並列的に実行されてもよい。
【００８９】
次に、演算処理部２０は、第１のアテンション処理部３１ｂとしてアテンション処理を実行し、第１のＬＳＴＭ処理部３１ａで認識された翻訳文の木データの各要素｛ｈ［ｊ，ｎ］｝において、正解文に対するそれぞれの重要度を判定する（Ｓ２０）。具体的に、ステップＳ２０のアテンション処理において演算処理部２０は、翻訳文の出力ベクトルｈ［ｊ，ｎ］毎に、正解文のルートベクトルｈＨ［ｒｏｏｔ］を用いて次式（１），（２）の演算を行って、各出力ベクトルｈ［ｊ，ｎ］に対する係数α［ｊ，ｎ］を算出する。
【００９０】
α［ｊ，ｎ］＝ｅｘｐ（ｅ［ｊ，ｎ］）／Σｊ，ｎｅｘｐ（ｅ［ｊ，ｎ］）…（１）
ｅ［ｊ，ｎ］＝Ｆ（ｈ［ｊ，ｎ］，ｈＨ［ｒｏｏｔ］）                …（２）
上式（１）において、係数α［ｊ，ｎ］は、対応する出力ベクトルｈ［ｊ，ｎ］で認識された木データ中の一要素の正解文に対する重要度を表す。また、Σｊ，ｎは翻訳文の木データの全ノードにわたる総和であり、ｅｘｐは指数関数である。また、上式（２）において、Ｆは所定のスカラー値関数であり、例えば次式（３）で表される。
【００９１】
Ｆ（ｈ［ｊ，ｎ］，ｈＨ［ｒｏｏｔ］）
＝ｔａｎｈ（ＷＦｈ［ｊ，ｎ］＋ＷＦＨｈＨ［ｒｏｏｔ］＋ｂＦ）        …（３）
上式（３）において、ｔａｎｈは双曲線正接関数である。また、それぞれ学習パラメータを構成するＷＦ，ＷＦＨは行数１の行列（行ベクトル）であり、ｂＦはスカラーのバイアス項である。なお、Ｆの関数形は上式（３）に限らず、例えばｔａｎｈに代えてシグモイド関数やＲｅＬＵ（正規化線形関数）を用いたり、ベクトル間の内積「ｈ［ｊ，ｎ］・ｈＨ［ｒｏｏｔ］」を用いたりしてもよい。また、合成関数によってｅ［ｊ，ｎ］が適宜、多層化されてもよい。
【００９２】
式（１）によると、ステップＳ２０の処理の結果として得られる係数α［ｊ，ｎ］の組｛α［ｊ，ｎ］｝によって、翻訳文の木データの各要素｛ｈ［ｊ，ｎ］｝にわたって正解文の情報を考慮した重み付けがなされる。演算処理部２０は、算出した各係数α［ｊ，ｎ］を記憶部２１に記録する。
【００９３】
また、演算処理部２０は、第２のアテンション処理部３２ｂとしてのアテンション処理を実行し、第２のＬＳＴＭ処理部３２ａで認識した正解文の木データの各要素｛ｈＨ［ｊ，ｎ］｝において、翻訳文に対するそれぞれの重要度を判定する（Ｓ２１）。ステップＳ２１の処理は、ステップＳ２０の前後に行われてもよいし、並列的に行われてもよい。
【００９４】
ステップＳ２１のアテンション処理は、正解文の出力ベクトルｈＨ［ｊ，ｎ］と翻訳文側のルートベクトルｈ［ｒｏｏｔ］を用いて、例えばステップＳ２０の処理と同様に行われる。これにより、正解文の各出力ベクトルｈＨ［ｊ，ｎ］に対する係数αＨ［ｊ，ｎ］が算出され、それぞれ記憶部２１に記録される。
【００９５】
次に、演算処理部２０は、深層ニューラルネットワーク３の全結合層３３として機能し、翻訳文及び正解文の認識結果｛ｈ［ｊ，ｎ］｝，｛ｈＨ［ｊ，ｎ］｝と、それぞれの重要度の判定結果｛α［ｊ，ｎ］｝，｛αＨ［ｊ，ｎ］｝とに基づき、類似度ｐの算出処理を行う（Ｓ２２）。具体的に、演算処理部２０は、ステップＳ２２において次式（４），（５）の演算を行う。
【００９６】
ｐ＝１／（１＋ｅｘｐ（Ｗｐｄ＋ｂｐ））                                  …（４）
ｄ＝Σｊ，ｎα［ｊ，ｎ］ｈ［ｊ，ｎ］＋Σｊ，ｎαＨ［ｊ，ｎ］ｈＨ［ｊ，ｎ］  …（５）
上式（４）において、ｄはベクトルであり、学習パラメータを構成するＷｐは行数１の行列であり、ｂｐはスカラーのバイアス項である。また、上式（５）において、第１項の総和は翻訳文の木データの全要素にわたり、第２項の総和は正解文の木データの全要素にわたる。
【００９７】
上式（５）によると、全結合層３３において、翻訳文及び正解文の木データの各要素｛ｈ［ｊ，ｎ］｝，｛ｈＨ［ｊ，ｎ］｝が、それぞれの重要度｛α［ｊ，ｎ］｝，｛αＨ［ｊ，ｎ］｝に応じた重み付けで合算される。演算処理部２０は、合算結果のベクトルｄに基づくロジスティック関数により（式（４））、類似度ｐを０〜１の範囲内で算出する。類似度ｐは、「１」に近いほど翻訳文と正解文とが類似していることを示し、「０」に近いほど非類似であることを示す。
【００９８】
演算処理部２０は、類似度ｐを算出することにより（ステップＳ２２）、図６のステップＳ３の処理を終了し、ステップＳ４に進む。
【００９９】
以上の処理によると、深層ニューラルネットワーク３において第１及び第２のエンコーダ３１，３２で翻訳文と正解文とのそれぞれの木データを認識することで、例えば翻訳文中の単語と正解文中の句とを対比可能になる。これにより、例えば「right」と「right hand side」との間の意味的な近さを文章評価装置２の判断基準に取り入れることができる。
【０１００】
また、以上の処理では、全結合層３３において、翻訳文及び正解文の木データの各要素｛ｈ［ｊ，ｎ］｝，｛ｈＨ［ｊ，ｎ］｝を各々の重要度｛α［ｊ，ｎ］｝，｛αＨ［ｊ，ｎ］｝に応じて統合して、二文間の類似度ｐが出力される（Ｓ２２）。全結合層３３の演算式（４），（５）によると（Ｓ２２）、翻訳文の木データにおける各要素｛ｈ［ｊ，ｎ］｝において、「α［ｊ，ｎ］Ｗｐｈ［ｊ，ｎ］」が正の要素は二文間の類似性に寄与し、負の要素は非類似性に寄与していることがわかる（正解文側も同様）。
【０１０１】
上記のことから、例えば図５の例では、翻訳文中の「left」と正解文中の「right」とのそれぞれのノードに対する重要度の係数α［ｊ，ｎ］，αＨ［ｊ，ｎ］がより大きく算出されることが期待される（図７参照）。このため、例えば、翻訳文と正解文とが非類似である場合に、演算処理部２０は、翻訳文の木データにおいて、ステップＳ２０で算出された係数α［ｊ，ｎ］がより大きい要素を非類似箇所として検出できる（図６のＳ５参照）。
【０１０２】
また、以上の処理によると、各エンコーダ３１，３２のツリーＬＳＴＭ処理部３１ａ，３２ａ（図７）において二分木に類するデータ構造を用いることにより、特に構文解析等を行うことなく各入力文の認識を行うことができる。例えば、文法が崩れたような翻訳文が入力された場合であっても頑健に認識を行うことができる。
【０１０３】
以上の説明では、二分木に類するデータ構造において翻訳文及び正解文を認識したが（Ｓ１０〜Ｓ１９）、各文の認識に用いるデータ構造はこれに限らない。例えば、通常の二分木（子ノードの重複なし）を用いてもよいし、種々の木構造を用いてもよい。また、以上の説明では、第１及び第２のツリーＬＳＴＭ処理部３１ａ，３２ａ間で同じデータ構造を用いたが、異なるデータ構造を用いてもよい。図９を用いて、文章評価処理におけるデータ構造の変形例について説明する。
【０１０４】
図９は、第２のツリーＬＳＴＭ処理部３２ａにおける正解文「This is a pen」の認識が、木構造を用いて行われる例を示している。図９の例では、各ＨＴ−ＬＳＴＭ部３２ａ（Ｓ１５）で認識する子ノードの個数が変化している。このような木構造は、ステップＳ１５の処理前に予め正解文「This is a pen」の構文解析を行っておくことにより、ステップＳ１５の処理を実行する度に子ノードの個数を設定して、ステップＳ１５〜Ｓ１９の処理に適用できる。
【０１０５】
図９の例において、第２のツリーＬＳＴＭ処理部３２ａは、各単語「This」「is」「a」「pen」を１ノードずつ認識し、次に三単語「is」「a」「pen」を子ノードとする親ノードの句「is a pen」を認識し、さらに「This」と「is a pen」から根ノードを認識する。このように正解文の特有の木構造に基づき各要素が認識された場合であっても、ステップＳ２０以降の処理を適宜、実行することができる。
【０１０６】
２−４．ＨＴ−ＬＳＴＭについて
以上のような第１及び第２のツリーＬＳＴＭ処理部３１ａ，３２ａにおけるＨＴ−ＬＳＴＭ部５，５’は、本開示に係る一例のＨＴ−ＬＳＴＭの演算処理を実行する。ＨＴ−ＬＳＴＭは、ニューラルネットワークの一種であるＬＳＴＭを、木構造が含まれるデータを処理可能にすると共に、情報伝達経路に多様性を持たせるように改変した新規のニューラルネットワークである。
【０１０７】
以下では、特に木データ全体のデータ構造を限定せずに、本実施形態におけるＨＴ−ＬＳＴＭの演算処理を実行するＨＴ−ＬＳＴＭ部５について、図１０を用いて説明する。図１０は、実施形態１におけるＨＴ−ＬＳＴＭ部５を説明するための図である。
【０１０８】
ＨＴ−ＬＳＴＭ部５は、図１０に示すように、入力層５０と、中間層５１と、出力層５２と、入力ゲート５３と、忘却ゲート５４と、出力ゲート５５と、線形変換部５６〜５８と、加算部５９〜６２と、非線形変換部６３，６４とを備える。ＨＴ−ＬＳＴＭ部５は、上記各部に基づくＨＴ−ＬＳＴＭの演算処理を実行して、木データにおける一要素（親ノード）の出力ベクトルｈ［ｊ，ｍ］を生成する。親ノードの出力ベクトルｈ［ｊ，ｍ］において、添字ｊは上述のとおり世代数を示し、添字ｍは親ノードの識別番号を示す。
【０１０９】
入力層５０は、ＨＴ−ＬＳＴＭ部５に入力するための各種ベクトル（変数）を格納するデータバッファである。入力層５０は、入力ベクトルｘ［ｊ，ｍ］、及び子ノードの出力ベクトルｈ［ｊ−１，１］、…、ｈ［ｊ−１，Ｎ］を入力する（Ｎは自然数）。
【０１１０】
以下では、子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］において、「１」〜「Ｎ」の添字は、特定の親ノードに対する一組の子ノード（兄弟ノード）におけるそれぞれを識別する番号を示すこととする。「１」〜「Ｎ」の添字は、例えば処理対象の文中で左側の子ノードほど大きく、右側の子ノードほど小さくなるように設定される。図７の例では、Ｎ＝２に設定される。
【０１１１】
入力ベクトルｘ［ｊ，ｍ］は、例えば深層ニューラルネットワーク３（図７）に単語を表す情報を入力する際に用いられる。例えば、図８のステップＳ１０において、ｊ＝１の場合に、ＨＴ−ＬＳＴＭ部５は、１−ｏｆ−Ｋ表現で単語を表す入力ベクトルｘ［１，ｍ］を入力し、木データにおいて単語を表すノードの出力ベクトルｈ［１，ｍ］を出力する。また、ｊ＞１の場合にはｘ［ｊ，ｍ］＝０に設定される。
【０１１２】
中間層５１は、ＨＴ−ＬＳＴＭ部５において中間的に生成される中間ベクトルｃ［ｊ，ｍ］を一時記憶部２１ｂ（図３）等において保持するデータバッファである。
【０１１３】
本開示に係るＨＴ−ＬＳＴＭでは、所謂ツリーＬＳＴＭと同様に（非特許文献１参照）、親ノードの出力ベクトルｈ［ｊ，ｍ］を生成する際に、子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］と共に、子ノードの中間ベクトルｃ［ｊ−１，１］〜ｃ［ｊ−１，Ｎ］を参照する。この際、中間層５１は、特定の世代数ｊのノードにおいて中間ベクトルｃ［ｊ，ｍ］が生成されてから、世代数ｊのインクリメント（時間遅れ）に伴い当該ノードが子ノードとして参照されるまで中間ベクトルｃ［ｊ，ｍ］を保持するメモリとして機能する。
【０１１４】
出力層５２は、ＨＴ−ＬＳＴＭ部５におけるＨＴ−ＬＳＴＭの処理結果として生成される親ノードの出力ベクトルｈ［ｊ，ｍ］を格納部２１ａ（図３）等に格納するデータバッファである。
【０１１５】
入力ゲート５３は、入力層５０等から入力する情報を制御して、ＨＴ−ＬＳＴＭ部５における処理対象として用いる情報を取り出すフィルタである。本実施形態において、入力ゲート５３は、ゲート関数生成部５３ａと、二つの乗算部５３ｂ，５３ｃとを備える。
【０１１６】
忘却ゲート５４は、子ノードの中間ベクトルｃ［ｊ，１］〜ｃ［ｊ，Ｎ］が保持された子ノード側の中間層５１から参照する情報を制御するフィルタである。忘却ゲート５４は、ゲート関数生成部５４ａと、子ノードの中間ベクトルｃ［ｊ，１］〜ｃ［ｊ，Ｎ］と同じ個数の乗算部５４ｂとを備える。
【０１１７】
出力ゲート５５は、ＨＴ−ＬＳＴＭ部５における処理結果として出力する情報を制御するフィルタである。出力ゲート５５は、ゲート関数生成部５５ａと、二つの乗算部５５ｂ，５５ｃとを備える。
【０１１８】
ゲート関数生成部５３ａ〜５５ａは、各種ゲート５３〜５５において用いられるゲート関数を生成する。ゲート関数は、ＨＴ−ＬＳＴＭ部５における処理中の情報を出力側に伝達させる度合いを設定するための関数であり、例えば０〜１の値を有する。また、各ゲート関数はベクトル値関数であり、引数とするベクトルの成分毎に共通の関数形に基づく値を有する。それぞれのゲート関数は、固有の学習パラメータによって規定され、それぞれの引数は、例えば各種ゲート５３〜５５に入力されるベクトルである。
【０１１９】
乗算部５３ｂ〜５５ｂ，５３ｃ，５５ｃは、ベクトルの成分毎の積（Hadamard積）を演算することにより、ベクトル同士の乗算「×」を演算する。各種ゲート５３〜５５において、乗算部５３ｂ〜５５ｃは、対象とする種々のベクトルにゲート関数を乗算する。これにより、乗算されたベクトルに含まれる情報（成分）は、ゲート関数の値が「１」に近いほど出力側に伝達され、「０」に近いほど遮断される。
【０１２０】
線形変換部５６〜５８は、それぞれ固有の学習パラメータを行列要素として有するパラメータ行列Ｗ０〜ＷＮ，Ｕ１〜ＵＮに基づいて、各種ベクトルの線形変換を行う。例えば、線形変換部５６は、それぞれパラメータ行列Ｗ１〜ＷＮに基づいて、入力層５０からの子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］を、子ノードの左右位置に応じて別々に線形変換する。
【０１２１】
加算部５９〜６２は、ベクトルの成分毎の和を演算することにより、ベクトル同士の加算「＋」を行う。例えば、加算部５９は、子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］及び入力ベクトルｘ［ｊ，ｍ］の線形変換部５６，５７による線形変換結果を全て加算（合算）し、総和を算出する。
【０１２２】
非線形変換部６３，６４は、線形変換のみでは表現できない複雑な関数を表現可能にするための非線形変換を行う。非線形変換は、変換対象のベクトルを引数として、所定の関数形において、ゲート関数と同様に引数と同次元のベクトル値関数を演算することによって行われる。非線形変換の関数形は、シグモイド関数、ＲｅＬＵ或いはｔａｎｈ等の種々の活性化関数に設定される。
【０１２３】
例えば、非線形変換部６３は、加算部５９による総和の非線形変換を行う。非線形変換部６３による変換結果のベクトルは、入力ゲート５３に入力される。
【０１２４】
入力ゲート５３は、ゲート関数生成部５３ａにおいてゲート関数Ｉ１を生成し、上記の入力されたベクトルに対して、乗算部５３ｂにおいてゲート関数Ｉ１を乗算する。これにより、入力ゲート５３において、非線形変換部６３による変換結果から中間層５１に入力する情報が取り出すフィルタリングが行われる。
【０１２５】
また、子ノードの中間ベクトルｃ［ｊ−１，１］〜ｃ［ｊ−１，Ｎ］は、子ノード側の中間層５１から忘却ゲート５４に入力される。忘却ゲート５４は、ゲート関数生成部５４ａにおいて子ノードの中間ベクトルｃ［ｊ−１，１］〜ｃ［ｊ−１，Ｎ］の個数と同じＮ個のゲート関数Ｆ１〜ＦＮを生成し、それぞれの乗算部５４ｂにおいて各ゲート関数Ｆ１〜ＦＮを個々の中間ベクトルに乗算する。これにより、複数の子ノードの中間ベクトルｃ［ｊ−１，１］〜ｃ［ｊ−１，Ｎ］から不要な情報を除去（忘却）するフィルタリングが行われる。
【０１２６】
忘却ゲート５４でフィルタリングされた子ノードの中間ベクトルは、線形変換部５８によってそれぞれ線形変換され、さらに加算部６０によって合算される。本実施形態において、加算部６０による合算結果のベクトルは、入力ゲート５３に入力される。
【０１２７】
本実施形態において、入力ゲート５３は、加算部６０による合算結果のベクトルに対して、ゲート関数生成部５３ａにおいてゲート関数Ｉ１とは別のゲート関数Ｉ２を生成し、乗算部５３ｃにおいて乗算を行う。このような入力ゲート５３によると、非線形変換部６３からの子ノードの出力ベクトルの総和に基づく情報と、加算部６０による子ノードの中間ベクトルの合算結果に基づく情報との間にトレードオフの関係を設定できる。また、忘却ゲート５４で個々にフィルタリングされる子ノードの中間ベクトルに対して、入力ゲート５３において一括したフィルタリングを行うことができる。
【０１２８】
入力ゲート５３は、乗算部５３ｂ、５３ｃにおいて別々のゲート関数Ｉ１，Ｉ２でフィルタリングした二つのベクトルを、加算部６１に出力する。加算部６１は、入力ゲート５３からの異なる二つのベクトルを加算して、（親ノードの）中間ベクトルｃ［ｊ，ｍ］を生成する。中間ベクトルｃ［ｊ，ｍ］は、（親ノード側の）中間層５１において保持されると共に、非線形変換部６４において非線形変換され、出力ゲート５５に入力される。
【０１２９】
出力ゲート５５は、非線形変換部６４による変換結果のベクトルに対して、ゲート関数生成部５５ａにおいてゲート関数Ｇ１を生成し、乗算部５５ｂにおいてゲート関数Ｇ１を乗算する。これにより、入力層５０等から非線形変換部６４まで種々の演算を行って得られた情報に対して、最終的に出力するか否かを制御するフィルタリングが行われる。
【０１３０】
本実施形態に係るＨＴ−ＬＳＴＭでは、入力層５０からの情報が、非線形変換される前に、出力ゲート５５を介して出力層５２に入力される迂回路６が構成される。本実施形態における迂回路６では、加算部５９による子ノードの出力ベクトルの総和のベクトルが、出力ゲート５５に入力される。
【０１３１】
出力ゲート５５は、ゲート関数生成部５５ａにおいてゲート関数Ｇ１とは別のゲート関数Ｇ２を生成し、迂回路６中の乗算部５５ｃにおいて、加算部５９による総和のベクトルにゲート関数Ｇ２を乗算する。これにより、入力層５０における情報に対して余計な変換を加えない状態で出力すべき情報を取り出すフィルタリングを実現できる。
【０１３２】
出力ゲート５５は、乗算部５５ｂ、５５ｃにおいて別々のゲート関数Ｇ１，Ｇ２でフィルタリングした二つのベクトルを、加算部６２に出力する。加算部６２は、出力ゲート５５からの異なる二つのベクトルを加算して、親ノードの出力ベクトルｈ［ｊ，ｍ］を生成し、出力層５２に出力する。
【０１３３】
出力層５２は、以上のように生成された出力ベクトルｈ［ｊ，ｍ］を格納する。格納された出力ベクトルｈ［ｊ，ｍ］は、世代数ｊのインクリメントに伴い、適宜、子ノードの出力ベクトルとして用いられる。また、出力層５２に格納された出力ベクトルは、ＨＴ−ＬＳＴＭ部５の処理結果として適宜、読み出して使用することができる。
【０１３４】
以上の本実施形態に係るＨＴ−ＬＳＴＭ部５によると、迂回路６から出力される情報を制御する出力ゲート５５により、不必要な演算を選択的に回避すると共に、ＨＴ−ＬＳＴＭ部５における情報伝達経路を多様化することができる。
【０１３５】
また、ＨＴ−ＬＳＴＭ部５によると、過去に演算した子ノードの中間状態などに含まれる履歴の情報を選択的に削除し、性能劣化を低減することができる。例えば、機械翻訳の翻訳文には、文章として意味を成していない部分が含まれることが想定されるが、ＨＴ−ＬＳＴＭ部５によると、このような部分の情報が文章全体の判断に悪影響を及ぼすことを抑制することができる。
【０１３６】
２−５．学習モードの動作
以上のような文章評価装置２における深層ニューラルネットワーク３を機械学習させる学習モードの動作について、図１１を参照して説明する。
【０１３７】
図１１は、文章評価装置２の学習モードの動作を示すフローチャートである。図１１のフローチャートは、文章評価装置２の演算処理部２０によって実行される。
【０１３８】
まず、文章評価装置２の演算処理部２０は、格納部２１ａに格納された主観評価の学習用データＤ２から一つの翻訳文のデータを読み出し、深層ニューラルネットワーク３に学習させる翻訳文を取得する（Ｓ３１）。
【０１３９】
また、演算処理部２０は、主観評価の学習用データＤ２において、取得した翻訳文に関連付けされた正解文のデータを読み出し、深層ニューラルネットワーク３に学習させる正解文を取得する（Ｓ３２）。
【０１４０】
次に、演算処理部２０は、取得した翻訳文及び正解文に基づいて、図６のステップＳ３と同様に、深層ニューラルネットワーク３による文章評価処理を実行する（Ｓ３３）。ステップＳ３３の処理は、深層ニューラルネットワーク３（図７）における第１及び第２のエンコーダ３１，３２並びに全結合層３３のそれぞれに予め設定された値の学習パラメータに基づき実行される。これにより、現状の学習パラメータに基づく深層ニューラルネットワーク３による、入力された二文が同義である確率の予測結果として、類似度ｐが出力される。
【０１４１】
次に、演算処理部２０は、主観評価の学習用データＤ２において、取得した翻訳文及び正解文に関連付けされた主観評価結果を取得する（Ｓ３４）。例えば、演算処理部２０は、取得した主観評価結果が「Good(4)」又は「So-so(3)」の分類であるか否かに応じて、値「１」又は「０」を得る。
【０１４２】
演算処理部２０は、現状の学習パラメータに基づく文章評価処理（Ｓ３３）の出力の、取得した主観評価結果（Ｓ３４）に対する誤差を算出する（Ｓ３５）。ステップＳ３５では、ステップＳ３３，Ｓ３４で得られる値をそれぞれ確率値として扱い、演算処理部２０が二つの確率値間の交差エントロピー等を計算することによって誤差を求める。具体的には、ステップＳ３３において算出された主観評価結果が「Good(4)」又は「So-so(3)」の分類である確率（類似度ｐ）と、その真値（Ｓ３４）との誤差が計算される。
【０１４３】
次に、演算処理部２０は、誤差逆伝播法にしたがって、深層ニューラルネットワーク３における各種学習パラメータの値を調整する（Ｓ３６）。ステップＳ３６において、演算処理部２０は、算出した誤差を各種学習パラメータで微分して勾配を計算し、得られた勾配に応じて各学習パラメータを更新する。例えば、誤差が「０」の場合には、勾配も「０」になることから、更新前後の学習パラメータの差分は「０」となる。
【０１４４】
次に、演算処理部２０は、主観評価の学習用データＤ２を用いた深層ニューラルネットワーク３の学習が完了したか否かを判断する（Ｓ３７）。演算処理部２０は、深層ニューラルネットワーク３の学習が完了していない場合（Ｓ３７でＮＯ）、ステップＳ３１の処理に戻り、主観評価の学習用データＤ２から新たなデータを取得してステップＳ３１以降の処理を行う。主観評価の学習用データＤ２における各データを深層ニューラルネットワーク３に学習させるまで、ステップＳ３１〜Ｓ３７の処理が繰り返される。
【０１４５】
演算処理部２０は、主観評価の学習用データＤ２を用いた学習が完了した場合（Ｓ３７でＹＥＳ）、学習後の各種学習パラメータの値を格納部２１ａ等に記録し、実行モードの文章評価処理（図６のＳ３）で採用する学習パラメータを決定する（Ｓ３８）。
【０１４６】
演算処理部２０は、学習パラメータを決定することにより（Ｓ３８）、本フローチャートによる処理を終了する。
【０１４７】
以上の処理によると、文章評価装置２における深層ニューラルネットワーク３の機械学習を行うことができる。主観評価の学習用データＤ２を用いて、学習用データＤ２に含まれる人の主観的な評価基準が獲得されるように、文章評価装置２を学習させることができる。
【０１４８】
以上の説明では、予め格納部２１ａに格納された主観評価の学習用データＤ２を用いた深層ニューラルネットワーク３の学習が完了した場合（Ｓ３７でＮＯ）に、図１１のフローチャートを終了した。文章評価装置２における学習終了の条件は、ステップＳ３７に限らず、例えば、主観評価の学習用データＤ２を学習させた後に、別途、動作確認用のデータを用いて未知のデータに対する文章評価装置２の適応性を確認し、確認結果に応じて学習終了を判断してもよい。また、深層ニューラルネットワーク３の出力に基づく所定の誤差関数を用いて、誤差関数が所定値以上か否かを学習終了の判断に用いてもよい。
【０１４９】
３．まとめ
以上のように、本実施形態に係る文章評価装置２は、入力される文章の評価を行う。文章評価装置２は、各種取得部２２〜２５と、演算処理部２０とを備える。取得部２２〜２５は、第１の入力文として翻訳文を示す情報と、第２の入力文として正解文を示す情報とを取得する。演算処理部２０は、取得部２２〜２５によって取得された情報に対して、機械学習に基づくアルゴリズムとしての深層ニューラルネットワーク３による情報処理を行う。深層ニューラルネットワーク３は、第１の入力文を認識する第１のエンコーダ３１と、第２の入力文を認識する第２のエンコーダ３２とを備える。演算処理部２０は、第１のエンコーダ３１における第１の入力文の認識結果と第２のエンコーダ３２における第２の入力文の認識結果とに基づいて、第２の入力文に対する第１の入力文の評価を示す評価情報を生成する。
【０１５０】
以上の文章評価装置２によると、深層ニューラルネットワークにおいて機械学習する二つのエンコーダ３１，３２を用いて各入力文を認識することにより、自動で行う文章の評価において、適切な文章の評価が行われ易くすることができる。
【０１５１】
本実施形態において、第１及び第２のエンコーダ３１，３２は、別々の学習パラメータに基づいて機械学習する。これにより、例えば翻訳文と正解文とに適した学習が行われ、正解文（第２の入力文）に対する翻訳文（第１の入力文）の適切な評価を示す評価情報が生成され易くすることができる。
【０１５２】
また、本実施形態において、第１のエンコーダ３１は、複数の要素で構成される所定のデータ構造に基づいて、第１の入力文におけるデータ構造の各要素を認識する（Ｓ１０〜Ｓ１４）。第１のエンコーダ３１は、第２のエンコーダ３２における第２の入力文の認識結果を参照して、第１の入力文の各要素において第２の入力文に対する重要度を判定する（Ｓ２０）。第１のエンコーダ３１におけるアテンション処理（Ｓ２０）により、第２の入力文との比較の観点から重要と考えられる第１の入力文の要素を特定することができる。
【０１５３】
また、本実施形態において、演算処理部２０は、判定された重要度に応じて評価を示す評価情報を生成する。これにより、例えば翻訳文において重要な意味を有する部分の翻訳結果に注目した評価情報を生成することができる。
【０１５４】
また、本実施形態において、第１のエンコーダ３１による認識に用いられる所定のデータ構造は、親ノード及び子ノードを有する木構造、及び子ノードが互いに重複する複数の木構造を含むデータ構造の内の少なくとも一方を含む。このようなデータ構造を用いて入力文を認識することにより、文章の構造を適度に反映した評価が行われ易くすることができる。
【０１５５】
また、本実施形態において、第２のエンコーダ３２は、上記の所定のデータ構造に基づいて、第２の入力文におけるデータ構造の各要素を認識する（Ｓ１５〜１９）。第２のエンコーダ３２は、第１のエンコーダ３１における第１の入力文の認識結果を参照して、第２の入力文の各要素において第１の入力文に対する重要度を判定する（Ｓ２１）。第２のエンコーダ３２におけるアテンション処理（Ｓ２１）により、例えば翻訳文との比較の観点から重要と考えられる正解文の要素を特定することができる。
【０１５６】
また、本実施形態において、深層ニューラルネットワーク３は、第１のエンコーダ３１における第１の入力文の認識結果と第２のエンコーダ３２における第２の入力文の認識結果とを統合する演算処理を行う全結合層３３をさらに備える。これにより、深層ニューラルネットワーク３から第１及び第２のエンコーダの認識結果を統合した情報を出力することができる。
【０１５７】
また、本実施形態において、全結合層３３は、ロジスティック関数に基づく演算処理を行う。これにより、全結合層３３において第１及び第２のエンコーダの認識結果を統合するロジットモデルが機械学習される。なお、全結合層３３は、これに限らず、例えば２クラス判別器などで構成されてもよい。
【０１５８】
また、本実施形態において、第１の入力文は、翻訳機１による機械翻訳の結果の翻訳文である。第２の入力文は、翻訳機１による機械翻訳の対象となった翻訳原文の翻訳における正解例を示す正解文である。文章評価装置１によると、正解文に対する翻訳機１の翻訳文の主観評価を自動で行うことができる。
【０１５９】
また、本実施形態において、第１及び第２の入力文間の類似度、第１の入力文に対する複数段階の分類、および第１の入力文中の特定の箇所の内の少なくとも一つ示す情報を含む。文章評価装置１のユーザは、各種評価情報により、自動で行われた文章評価装置２の評価結果を確認することができる。
【０１６０】
また、本実施形態に係る文章評価方法は、文章評価装置２に入力される文章の評価を実行する方法である。本方法は、第１の入力文を示す情報を取得するステップ（Ｓ１）と、第２の入力文を示す情報を取得するステップ（Ｓ２）とを含む。本方法は、機械学習に基づく第１のエンコーダ３１において、第１の入力文を認識するステップ（Ｓ１０〜Ｓ１４）を含む。本方法は、第１のエンコーダ３１とは別の第２のエンコーダ３２において、第２の入力文を認識するステップ（Ｓ１５〜Ｓ１９）を含む。本方法は、第１のエンコーダ３１における第１の入力文の認識結果と第２のエンコーダ３２における第２の入力文の認識結果とに基づいて、第２の入力文に対する第１の入力文の評価を示す評価情報を生成するステップ（Ｓ２２）を含む。
【０１６１】
以上の文章評価方法によると、深層ニューラルネットワークにおいて機械学習する二つのエンコーダ３１，３２を用いて各入力文を認識することにより、自動で行う文章の評価において、適切な文章の評価が行われ易くすることができる。
【０１６２】
（実施形態１の変形例）
実施形態１では、翻訳文と正解文とを入力文として、文章評価装置２に自動的な評価を行わせたが、文章評価装置２に対する入力文は、これに限らない。以下、翻訳文と翻訳原文とを入力文として、翻訳精度の評価を文章評価装置２に行わせる変形例について、図１２を用いて説明する。
【０１６３】
図１２は、実施形態１の変形例に係る文章評価装置２の実行モードの動作を示すフローチャートである。図１２に示すように、本変形例に係る文章評価装置２は、実施形態１と同様の実行モードにおいて、翻訳文（第１の入力文）と比較する第２の入力文として、翻訳文の翻訳対象となった翻訳原文を取得する（Ｓ２Ａ）。取得した翻訳原文は、深層ニューラルネットワーク３における第２のエンコーダ３２に入力され、実施形態１と同様の文章評価処理が実行される（Ｓ３）。
【０１６４】
文章評価処理を実行する深層ニューラルネットワーク３では、実施形態１と同様に第１及び第２のエンコーダ３１，３２のエンコード結果に基づき全結合層３３においてロジスティック関数に基づく演算処理が行われる。この際、全結合層３３から出力される０〜１の範囲内の値は、翻訳原文を別言語の翻訳文に翻訳した際の整合性を表すものとなる。なお、このような整合性を表す出力が得られるように、予め深層ニューラルネットワーク３の機械学習が所定の学習用データを用いて行われる。
【０１６５】
実行モードの文章評価処理（図１２のＳ３）で得られた整合性を表す情報に基づいて、文章評価装置２は、例えば図８のステップＳ４と同様のしきい値判定により、翻訳文が翻訳原文に整合しているか否かを判断する（Ｓ４Ａ）。
【０１６６】
文章評価装置２は、翻訳文が翻訳原文に整合していないと判断した場合（Ｓ４Ａ）、実施形態１と同様にアテンション処理による重要度の判定結果｛α［ｊ，ｎ］｝に基づいて、翻訳文中の特定箇所を検出する（Ｓ５）。この場合、検出される特定箇所は、翻訳文中で翻訳原文に整合していない不整合箇所になる。
【０１６７】
続くステップＳ６，Ｓ７においても、文章評価装置２は、実施形態１と同様の処理を機械学習において予め獲得した精度で適宜、実行する。
【０１６８】
以上の処理によると、文章評価装置２において、翻訳原文に対する翻訳文の翻訳精度の評価を自動で行うことができる。
【０１６９】
（実施形態２）
以下、図面を用いて、実施形態２を説明する。実施形態１におけるＨＴ−ＬＳＴＭ（図１０）では、入力ゲート５３が入力層５０からの情報を一括してフィルタリングした。実施形態２では、入力層からの情報を個別にフィルタリングするＨＴ−ＬＳＴＭについて説明する。
【０１７０】
以下、実施形態１に係る情報処理装置２と同様の構成、動作の説明は適宜、省略して、本実施形態に係る情報処理装置２を説明する。
【０１７１】
図１３は、実施形態２におけるＨＴ−ＬＳＴＭ部５Ａを説明するための図である。本実施形態におけるＨＴ−ＬＳＴＭ部５Ａは、例えば実施形態１に係る文章評価装置２の演算処理部２０において、本実施形態におけるＨＴ−ＬＳＴＭのニューラルネットワークを構築する。
【０１７２】
図１３に示すように、本実施形態におけるＨＴ−ＬＳＴＭ部５Ａは、実施形態１（図１０）と同様の構成において入力ゲート５３の代わりに、入力層５０からの各ベクトルが個別に入力される入力ゲート５３Ａを備える。
【０１７３】
本実施形態における入力ゲート５３Ａは、ゲート関数生成部５３ａと、入力層５０から入力されるベクトルの個数と同じ個数の乗算部５３ｄとを備える。入力ゲート５３Ａは、ゲート関数生成部５３ａにおいて入力層５０からのベクトルの個数と同じ個数のゲート関数Ｉ０〜ＩＮを生成し、それぞれの乗算部５３ｄにおいて個々のゲート関数Ｉ０〜ＩＮを上記各ベクトルに乗算する。これにより、入力層５０からの子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］に対して、別々のゲート関数Ｉ０〜ＩＮに基づく個別のフィルタリングが行われる。
【０１７４】
また、図１０に示すように、ＨＴ−ＬＳＴＭ部５Ａは、本実施形態における迂回路６Ａを構成するための加算部６５をさらに備える。加算部６５は、迂回路６Ａにおいて、入力ゲート５３によってフィルタリングされた各ベクトルを合算する。加算部６５による合算結果のベクトルは、迂回路６Ａ中で出力ゲート５５に入力する。
【０１７５】
本実施形態における迂回路６Ａにより、出力ゲート５５は、ゲート関数Ｇ２に応じて入力ゲート５３Ａでフィルタリングされた情報を短絡的に出力ベクトルｈ［ｊ，ｍ］に含めるように出力層５２への出力を制御する。また、本実施形態では、一例として出力ゲート５５における二つのゲート関数Ｇ１，Ｇ２を相補的に設定し（即ちＧ２＝１−Ｇ１）、演算効率を向上させている。
【０１７６】
また、本実施形態において、迂回路６Ａを介した出力とは別に、入力ゲート５３によってフィルタリングされた子ノードの出力ベクトルが、加算部５９ａで合算され、合算結果のベクトルに対するパラメータ行列Ｗを用いて線形変換部５６Ａで線形変換される。線形変換部５６Ａで変換されたベクトルは、入力ベクトルｘ［ｊ，ｍ］が用いられた場合には入力ゲート５３Ａを介して線形変換された入力ベクトルと加算部５９ｂで加算され、非線形変換部６３で変換される。
【０１７７】
また、上記のように子ノードの出力ベクトルに対する線形変換をパラメータ行列Ｗで統合したことと共に、本実施形態では、線形変換部５６Ａにおけるパラメータ行列Ｕにより、子ノードの中間ベクトルに対する線形変換も統合している。パラメータ行列Ｕによる線形変換は、忘却ゲート５４が中間層５１から各子ノードの中間ベクトルｃ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］にフィルタリングした結果を合算したベクトルに対して行われる。このようなパラメータ行列Ｗ，Ｕの設定は一例であり、例えばベクトル毎に個別に設定するなど、適宜、変更されてもよい。
【０１７８】
以上のように、本実施形態に係るＨＴ−ＬＳＴＭは、文章評価装置２等の情報処理装置でＨＴ−ＬＳＴＭ部５Ａとして、木構造における子ノードから親ノードの出力ベクトルｈ［ｊ，ｍ］を生成するように構築されるニューラルネットワークである。ＨＴ−ＬＳＴＭ部５Ａは、一組の子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］を入力する入力層５０と、入力層５０から取り出す情報を制御する入力ゲート５３Ａとを備える。ＨＴ−ＬＳＴＭ部５Ａは、各出力ベクトルｈ［ｊ，ｍ］，ｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］の生成に伴う各ノードの中間ベクトルｃ［ｊ，ｍ］，ｃ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］を保持する中間層５１と、中間層５１から参照する情報を制御する忘却ゲート５４とを備える。ＨＴ−ＬＳＴＭ部５Ａは、親ノードの出力ベクトルｈ［ｊ，ｍ］を格納する出力層５２と、子ノードの出力ベクトル及び中間ベクトルに基づき親ノードの出力ベクトルとして出力層５２に出力する情報を制御する出力ゲート５５とを備える。ＨＴ−ＬＳＴＭ部５Ａにおいて、入力ゲート５３Ａは、一組の子ノードの出力ベクトルｈ［ｊ−１，１］〜ｈ［ｊ−１，Ｎ］の内の各出力ベクトルから個別に情報を取り出す。出力ゲート５５は、出力層５２に出力する情報に、入力ゲート５３Ａにおいて取り出された情報を含める。
【０１７９】
以上のＨＴ−ＬＳＴＭ部５Ａによると、入力ゲート５３Ａにおいて複数の子ノードの左右が識別され、対象の文中の語順に応じた判断を学習させ易くすることができる。
【０１８０】
例えば、文章評価装置２に入力された入力文（翻訳文）が、「turn turn left」のように同じ単語が連なって不要な情報を含んでいるような場合に、不要であるという判断を学習させ易くすることができる。つまり、ＨＴ−ＬＳＴＭ部５Ａによると、一組の子ノードとして連続する単語「turn」「turn」「left」の情報が入力された際に、入力ゲート５３Ａにおいて、連続する単語から一つの「turn」の情報を個別に除去することが可能になる。このように、ＨＴ−ＬＳＴＭによると、木構造等のデータ構造に対する機械学習において多様な判断の学習をし易くすることができる。
【０１８１】
（実施形態２の変形例）
以上のように実施形態１，２においてＨＴ−ＬＳＴＭの例を説明したが、本開示に係るＨＴ−ＬＳＴＭは実施形態１，２に限らず、種々の変更を加えてもよい。ＨＴ−ＬＳＴＭの変形例について、図１４，１５を用いて説明する。
【０１８２】
図１４は、実施形態２の変形例１におけるＨＴ−ＬＳＴＭ部５Ｂを説明するための図である。本変形例におけるＨＴ−ＬＳＴＭ部５Ｂは、実施形態２におけるＨＴ−ＬＳＴＭ部５Ａの加算部６１，６２の代わりに、乗算部５１Ａ，６２Ａを備える。
【０１８３】
乗算部６１Ａでは、入力層５０からの子ノードの出力ベクトルに由来するベクトルと、子ノードの中間ベクトルに由来するベクトルとが、乗算によって合成される。また、乗算部６２Ａでは、親ノードの中間ベクトルｃ［ｊ、ｍ］が変換されたベクトルと、迂回路６Ａを介して入力層５０から迂回させたベクトルとが、乗算によって合成される。このような異種のベクトル間の合成を乗算によって行うことにより、機械学習における更新則が改善され、性能及び収束速度を向上することができる。
【０１８４】
本変形例では、実施形態２におけるＨＴ−ＬＳＴＭ部５Ａの加算部６１，６２を乗算部５１Ａ，６２Ａに置き換えたが、これに限らず、例えば加算部６１，６２の一方を乗算部に置き換えてもよい。また、加算部６１，６２に代えて、又はこれに加えて、ＨＴ−ＬＳＴＭ部５Ａの他の加算部を乗算部に置き換えてもよい。
【０１８５】
図１５は、実施形態２の変形例２におけるＨＴ−ＬＳＴＭ部５Ｃを説明するための図である。本変形例におけるＨＴ−ＬＳＴＭ部５Ｃは、実施形態２におけるＨＴ−ＬＳＴＭ部５Ａの迂回路６Ａの代わりに、線形変換部５６Ａ，５７による変換後の情報を迂回させる迂回路６Ｂを備える。
【０１８６】
本変形例における迂回路６Ｂによっても、非線形変換部６３による非線形変換の前の情報を出力ゲート５５に迂回させ、ＨＴ−ＬＳＴＭにおける情報伝達経路の多様化を図ることができる。ＨＴ−ＬＳＴＭにおける迂回路は、出力ゲート５５が入力ゲート５３Ａにおいて取り出された情報を含めるように出力する情報を制御可能な範囲で適宜、設定されてもよい。
【０１８７】
以上の説明では、実施形態２におけるＨＴ−ＬＳＴＭ部５Ａの変形例１，２を説明したが、変形例１，２のような変更は適宜、実施形態１におけるＨＴ−ＬＳＴＭ部５に行われてもよい。
【０１８８】
（他の実施形態）
以上のように、本出願において開示する技術の例示として、実施形態１〜２を説明した。しかしながら、本開示における技術は、これに限定されず、適宜、変更、置換、付加、省略などを行った実施の形態にも適用可能である。また、上記各実施形態で説明した各構成要素を組み合わせて、新たな実施の形態とすることも可能である。そこで、以下、他の実施形態を例示する。
【０１８９】
上記の各実施形態では、文章評価装置２に入力する第１の入力文が、翻訳原文の翻訳文であり、第２の入力文が翻訳文に対応する正解文や翻訳原文など、第１の入力文の翻訳元として参照される文章（参照文）である例を説明した。文章評価装置２の評価対象は、翻訳元を有する翻訳文に限らず、種々の文章を評価対象として第１の入力文に用いてもよい。この場合、第２の入力文は、例えば種々の対応関係で第１の入力文に対応する参照文に設定される。また、第２の入力文は特に参照文でなくてもよく、例えば無作為な二つの文章間の意味的な類似度或いは整合性などを評価するために、文章評価装置１が用いられてもよい。
【０１９０】
また、上記の各実施形態では、本開示に係る深層ニューラルネットワーク３の構成の一例を説明したが、深層ニューラルネットワーク３の構成はこれに限らない。例えば、深層ニューラルネットワーク３における第１及び第２のツリーＬＳＴＭ処理部３１ａ，３１ｂと共に、ＬＳＴＭ或いは双方向型ＬＳＴＭを用いてもよい。ＬＳＴＭ等に各入力文中で時系列に並ぶ単語を計算させて、計算結果の出力を第１及び第２のツリーＬＳＴＭ処理部３１ａ，３１ｂに入力してもよい。
【０１９１】
また、上記の各実施形態では、本開示に係るＨＴ−ＬＳＴＭを実行するＨＴ−ＬＳＴＭ部５，５’，５Ａ〜５Ｃを用いて文章評価処理のための深層ニューラルネットワーク３を構築した。本開示に係る深層ニューラルネットワークはこれに限らず、例えば各ツリーＬＳＴＭ処理部３１ａ，３１ｂにおいてＨＴ−ＬＳＴＭの代わりに所謂ツリーＬＳＴＭを用いてもよい（非特許文献１参照）。
【０１９２】
また、本開示に係るＨＴ−ＬＳＴＭを実行するＨＴ−ＬＳＴＭ部５，５’，５Ａ〜５Ｃは、文章評価処理のための深層ニューラルネットワーク３に限らず、機械学習に基づく種々の情報処理装置及び方法に適用可能である。本開示に係るＨＴ−ＬＳＴＭが適用された情報処理装置及び方法によると、木構造のような系統的なデータ構造に対する機械学習において多様な判断を学習させ易くするという課題を解決することができる。
【０１９３】
以上のように、本開示における技術の例示として、実施の形態を説明した。そのために、添付図面および詳細な説明を提供した。
【０１９４】
したがって、添付図面および詳細な説明に記載された構成要素の中には、課題解決のために必須な構成要素だけでなく、上記技術を例示するために、課題解決のためには必須でない構成要素も含まれ得る。そのため、それらの必須ではない構成要素が添付図面や詳細な説明に記載されていることをもって、直ちに、それらの必須ではない構成要素が必須であるとの認定をするべきではない。
【０１９５】
また、上述の実施の形態は、本開示における技術を例示するためのものであるから、特許請求の範囲またはその均等の範囲において、種々の変更、置換、付加、省略などを行うことができる。
【産業上の利用可能性】
【０１９６】
本開示は、種々の文章の評価を自動で行う技術に適用可能であり、例えば翻訳機の性能評価に利用可能である。
【図１】
2018131259.tif 000003
【図２】
2018131259.tif 000004
【図３】
2018131259.tif 000005
【図４】
2018131259.tif 000006
【図５】
2018131259.tif 000007
【図６】
2018131259.tif 000008
【図７】
2018131259.tif 000009
【図８】
2018131259.tif 000010
【図９】
2018131259.tif 000011
【図１０】
2018131259.tif 000012
【図１１】
2018131259.tif 000013
【図１２】
2018131259.tif 000014
【図１３】
2018131259.tif 000015
【図１４】
2018131259.tif 000016
【図１５】
2018131259.tif 000017
【国際調査報告】
2018131259.tif 000018
2018131259.tif 000019
2018131259.tif 000020
2018131259.tif 000021