(57)【要約】【課題】精度を向上できる意味生成方法を提供する。【解決手段】意味生成方法は、発話文の意味を生成する意味生成装置１００における意味生成方法であって、発話文となりうる文章１３４のテキストデータと、文章１３４の意味を示す意味情報１３２とを対応付けた意味訓練データ１３１を取得し（Ｓ１１２）、文章１３４のテキストデータと、文章１３４の換言文１４２のテキストデータとを対応付けた換言訓練データ１４１を取得し（Ｓ１１３）、意味訓練データ１３１及び換言訓練データ１４１を共通のモデルに適用することにより、発話文に含まれる単語の重要度を含む、発話文と意味情報１３２及び換言文１４２との対応付けを学習し（Ｓ１１４〜Ｓ１１６）、学習した結果を学習結果情報１２３として記憶する。【選択図】図３
2017228272.tif 000002
【特許請求の範囲】
【請求項１】
発話文の意味を生成する意味生成装置における意味生成方法であって、
前記発話文となりうる第１の文章のテキストデータと、前記第１の文章の意味を示す意味情報とを対応付けた第１の意味訓練データを取得し、
前記第１の文章のテキストデータと、前記第１の文章の換言文である第２の文章のテキストデータとを対応付けた第１の換言訓練データを取得し、
前記第１の意味訓練データ及び前記第１の換言訓練データを共通のモデルに適用することにより、前記発話文に含まれる単語の重要度を含む、前記発話文と前記意味情報及び前記換言文との対応付けを学習し、
前記学習した結果を学習結果情報として記憶する
意味生成方法。
【請求項２】
前記意味生成方法は、さらに、
ユーザにより発話された第３の文章のテキストデータを取得し、
前記学習結果情報に基づき、前記第３の文章に対応する意味情報を生成する
請求項１記載の意味生成方法。
【請求項３】
前記第１の意味訓練データは、２以上の意味訓練データを集積した第１のコーパスから取得される
請求項１又は２記載の意味生成方法。
【請求項４】
前記第１の換言訓練データは、２以上の換言訓練データを集積した第２のコーパスから取得される
請求項１〜３のいずれか１項に記載の意味生成方法。
【請求項５】
前記モデルはニューラルネットワークモデルである
請求項１〜４のいずれか１項に記載の意味生成方法。
【請求項６】
前記学習は、前記第１の文章に対応付けられた前記意味情報及び前記第２の文章と、前記モデルを用いて算出された前記第１の文章に対する前記意味情報及び前記第２の文章の事後確率との間で誤差逆伝搬学習を行うことにより実行される
請求項５記載の意味生成方法。
【請求項７】
前記発話文と前記換言文との対応付けの学習は、前記発話文と前記意味情報との対応付けの学習において得られた内部情報を用いて行われる
請求項１記載の意味生成方法。
【請求項８】
前記モデルはニューラルネットワークモデルであり、
前記内部情報は、前記ニューラルネットワークモデルにおける各層間の重みである
請求項７記載の意味生成方法。
【請求項９】
発話文の意味を生成する意味生成装置であって、
前記発話文となりうる第１の文章のテキストデータと、前記第１の文章の意味を示す意味情報とを対応付けた第１の意味訓練データを取得する意味訓練データ取得部と、
前記第１の文章のテキストデータと、前記第１の文章の換言文である第２の文章のテキストデータとを対応付けた第１の換言訓練データを取得する換言訓練データ取得部と、
前記第１の意味訓練データ及び前記第１の換言訓練データを共通のモデルに適用することにより、前記発話文に含まれる単語の重要度を含む、前記発話文と前記意味情報及び前記換言文との対応付けを学習する学習部と、
前記学習した結果を学習結果情報として記憶する記憶部とを備える
意味生成装置。
【請求項１０】
請求項１記載の意味生成方法をコンピュータに実行させる
プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、発話文の意味を生成する意味生成方法及び意味生成装置に関する。
【背景技術】
【０００２】
意味生成技術（発話意図生成技術）は、同じ意味の発話を意味情報（意味ラベル）に変換する技術である。具体的には、同じ意味の言い回しと意味情報のセットからなる訓練文書を用いて、意味情報に寄与している高頻度の語句を特徴として学習を行う（例えば、非特許文献１参照）。また、同じ意味である和文と英文などの対訳訓練文書を用いて、文字列間の変換を学習する従来技術も存在する（例えば、非特許文献２参照）。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特許第５３６２６５１号公報
【非特許文献】
【０００４】
【非特許文献１】Andrew M. Dai, Quoc V. Le, "Semi-supervised Sequence Learning", NIPS 2015
【非特許文献２】Ilya Sutskever, Oriol Vinyals, Quoc Le, "Sequence to Sequence Learning with Neural Networks", NIPS 2014
【非特許文献３】Katja Filippova, Enrique Alfonseca, Carlos A. Colmenares, Lukasz Kaiser, Oriol Vinyals Google Research,“Sentence Compression by Deletion with LSTMs”,Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing, pages 360-368
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、このような技術では、変換すべき意図に直接寄与しない非重要語がテキストに高頻度で出現すると、非重要語を誤って重要語として認識してしまう場合がある。よって、正しい意味ラベルに変換するためには、さらなる改善が必要であった。
【０００６】
そこで、本開示は、精度を向上できる意味生成方法又は意味生成装置を提供することを目的とする。
【課題を解決するための手段】
【０００７】
本開示の一態様に係る意味生成方法は、発話文の意味を生成する意味生成装置における意味生成方法であって、前記発話文となりうる第１の文章のテキストデータと、前記第１の文章の意味を示す意味情報とを対応付けた第１の意味訓練データを取得し、前記第１の文章のテキストデータと、前記第１の文章の換言文である第２の文章のテキストデータとを対応付けた第１の換言訓練データを取得し、前記第１の意味訓練データ及び前記第１の換言訓練データを共通のモデルに適用することにより、前記発話文に含まれる単語の重要度を含む、前記発話文と前記意味情報及び前記換言文との対応付けを学習し、前記学習した結果を学習結果情報として記憶する。
【発明の効果】
【０００８】
本開示は、精度を向上できる意味生成方法又は意味生成装置を提供できる。
【図面の簡単な説明】
【０００９】
【図１】実施の形態に係る意味生成装置の構成を示すブロック図である。
【図２】実施の形態に係る意味生成装置による処理のフローチャートである。
【図３】実施の形態に係る学習処理のフローチャートである。
【図４】実施の形態に係る意味訓練コーパスの一例を示す図である。
【図５】実施の形態に係る換言訓練コーパスの一例を示す図である。
【図６】実施の形態に係るニューラルネットの概略を示す図である。
【図７】実施の形態に係るニューラルネットの入出力となるベクトル表現の一例を示す図である。
【図８】実施の形態に係る意味生成処理のフローチャートである。
【図９】実施の形態に係る発話文テーブルの一例を示す図である。
【図１０】実施の形態に係る意味情報テーブルの一例を示す図である。
【図１１】実施の形態の比較例に係る意味情報テーブルの一例を示す図である。
【図１２】実施の形態に係る対話システムのブロック図である。
【発明を実施するための形態】
【００１０】
（本開示の基礎となった知見）
非特許文献１には、単語列とラベル（意味情報）のセットからなる訓練文書を基に、ニューラルネットワークモデルを用いて学習することで、ラベルに対する語句の重要度を抽出し、極性（正・負）などのラベルを予測する技術が記載されている。この技術では、ニューラルネットの中でも、単語列などの時系列データの処理に適したＬＳＴＭ（Ｌｏｎｇ  ｓｈｏｒｔ−ｔｅｒｍ  ｍｅｍｏｒｙ）と呼ばれるリカレントニューラルネットワークの亜種が用いられている。これにより、この技術は、任意長かつ長い単語列に対しても適用可能である。
【００１１】
非特許文献２には、２つの単語列のセットからなる訓練文書を基に、ＬＳＴＭで単語列間の変換を学習することで、単語間で依存関係が強い語句を抽出する技術が記載されている。この技術は、主に翻訳などに用いることが可能である。
【００１２】
ここで、ユーザの発話から重要又は非重要語を抽出するために、ある意味ラベル内での単語出現回数と、言語資源全体における単語出現回数とを用いた指標ＴＦ−ＩＤＦ（Ｔｅｒｍ  Ｆｒｅｑｕｅｎｃｙ−Ｉｎｖｅｒｓｅ  Ｄｏｃｕｍｅｎｔ  Ｆｒｅｑｕｅｎｃｙ）がよく使われる。しかしながら、ＴＦ−ＩＤＦでは、記述者の偏りによって、少数の意味ラベルのみに出現する語句の重要度が高まってしまう。
【００１３】
この課題に対して、特許文献１記載の技術では、タスク依存の発話が記述されているＷｅｂ上の構造化データを利用する。この技術では、発話を異なる役割を持つ文章郡（セクション）、例えば、「質問本文」「回答文」「コメント」などに区分し、語句が出現するセクション数を利用して重要度を決めることで、記述者による表現のゆれを減らし、重要語を抽出する。
【００１４】
非特許文献３には、ニュース記事の本文と見出しのテキストとに基づき、テキスト内で単語ごとに重要又は非重要を付与し、要約を行うことで重要語を自動抽出する技術が記載されている。
【００１５】
しかしながら、特許文献１及び非特許文献３に記載のいずれの技術も「見出し」「本文」「回答文」「コメント」などの構造化されたＷｅｂ文書において、タスクに依存した意味ラベルに変換したい文が記述されている必要がある。従って、ユーザの発話を記述したＷｅｂ文書が得られない場合は、重要語を抽出することができないという課題がある。
【００１６】
このような課題に対して、本開示の一態様に係る意味生成方法は、発話文の意味を生成する意味生成装置における意味生成方法であって、前記発話文となりうる第１の文章のテキストデータと、前記第１の文章の意味を示す意味情報とを対応付けた第１の意味訓練データを取得し、前記第１の文章のテキストデータと、前記第１の文章の換言文である第２の文章のテキストデータとを対応付けた第１の換言訓練データを取得し、前記第１の意味訓練データ及び前記第１の換言訓練データを共通のモデルに適用することにより、前記発話文に含まれる単語の重要度を含む、前記発話文と前記意味情報及び前記換言文との対応付けを学習し、前記学習した結果を学習結果情報として記憶する。
【００１７】
これによれば、発話文と意味情報との対応付けの際に、発話文と換言文との対応付けを学習する。これにより、発話文と意味情報との対応付けの精度を向上できる。
【００１８】
例えば、前記意味生成方法は、さらに、ユーザにより発話された第３の文章のテキストデータを取得し、前記学習結果情報に基づき、前記第３の文章に対応する意味情報を生成してもよい。
【００１９】
これによれば、学習結果を用いて、発話文から意味情報を生成できる。
【００２０】
例えば、前記第１の意味訓練データは、２以上の意味訓練データを集積した第１のコーパスから取得されてもよい。
【００２１】
例えば、前記第１の換言訓練データは、２以上の換言訓練データを集積した第２のコーパスから取得されてもよい。
【００２２】
例えば、前記モデルはニューラルネットワークモデルであってもよい。
【００２３】
例えば、前記学習は、前記第１の文章に対応付けられた前記意味情報及び前記第２の文章と、前記モデルを用いて算出された前記第１の文章に対する前記意味情報及び前記第２の文章の事後確率との間で誤差逆伝搬学習を行うことにより実行されてもよい。
【００２４】
例えば、前記発話文と前記換言文との対応付けの学習は、前記発話文と前記意味情報との対応付けの学習において得られた内部情報を用いて行われてもよい。
【００２５】
例えば、前記モデルはニューラルネットワークモデルであり、前記内部情報は、前記ニューラルネットワークモデルにおける各層間の重みであってもよい。
【００２６】
また、本開示の一態様に係る意味生成装置は、発話文の意味を生成する意味生成装置であって、前記発話文となりうる第１の文章のテキストデータと、前記第１の文章の意味を示す意味情報とを対応付けた第１の意味訓練データを取得する意味訓練データ取得部と、前記第１の文章のテキストデータと、前記第１の文章の換言文である第２の文章のテキストデータとを対応付けた第１の換言訓練データを取得する換言訓練データ取得部と、前記第１の意味訓練データ及び前記第１の換言訓練データを共通のモデルに適用することにより、前記発話文に含まれる単語の重要度を含む、前記発話文と前記意味情報及び前記換言文との対応付けを学習する学習部と、前記学習した結果を学習結果情報として記憶する記憶部とを備える。
【００２７】
これによれば、発話文と意味情報との対応付けの際に、発話文と換言文との対応付けを学習する。これにより、発話文と意味情報との対応付けの精度を向上できる。
【００２８】
また、本開示の一態様に係るプログラムは、前記胃意味生成方法をコンピュータに実行させる。
【００２９】
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータ読み取り可能なＣＤ−ＲＯＭなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラム及び記録媒体の任意な組み合わせで実現されてもよい。
【００３０】
以下、本開示の実施の形態について、図面を参照しながら説明する。なお、以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
【００３１】
（実施の形態）
まず、本実施の形態に係る意味生成装置１００の構成を説明する。図１は、本実施の形態の意味生成装置１００の構成を示すブロック図である。
【００３２】
この意味生成装置１００は、発話文の意味を生成する。意味生成装置１００は、例えば、コンピュータで構成され、記憶部１０１、処理部１０２、記憶部１０３、処理部１０４及び記憶部１０５を備える。
【００３３】
記憶部１０１、１０３及び１０５は、例えば、ハードディスクドライブ又はソリッドステートドライブ等の書き換え可能な不揮発性のメモリで構成される。
【００３４】
記憶部１０１は、意味訓練コーパス１２１、換言訓練コーパス１２２、及び発話文テーブル１２４を記憶する。記憶部１０３は、学習結果情報１２３を記憶する。記憶部１０５は、意味情報テーブル１２５を記憶する。
【００３５】
処理部１０２及び１０４は、例えば、ＣＰＵ、ＡＳＩＣ、又はＦＰＧＡ等のプロセッサで構成される。処理部１０２は、学習部１１３を備える。学習部１１３は、意味学習部１１４、及び換言学習部１１５を備える。処理部１０４は、形態素解析部１１７及び意味生成部１１８を備える。
【００３６】
なお、処理部１０２、１０４及び１０５が備える各処理ブロックの機能は、ＣＰＵ等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
【００３７】
次に、意味生成装置１００の動作を説明する。図２は、意味生成装置１００の動作の概要を示すフローチャートである。
【００３８】
まず、意味生成装置１００は、意味訓練コーパス１２１に含まれる複数の意味訓練データ、及び、換言訓練コーパス１２２に含まれる複数の換言訓練データを用いて、発話文と意味情報との対応関係を学習する学習処理を行う（Ｓ１０１）。
【００３９】
次に、意味生成装置１００は、上記学習処理の結果を用いて、発話文の意味情報を生成する意味生成処理を行う（Ｓ１０２）。
【００４０】
以下、上記学習処理（Ｓ１０１）の詳細を説明する。図３は、本実施の形態における学習処理（Ｓ１０１）のフローチャートである。
【００４１】
まず、学習部１１３は、全ての学習パラメータを擬似乱数テーブルに基づいて初期化する（Ｓ１１１）。具体的には、学習部１１３は、後述する図６に示すニューラルネットワークの各層間の重みを初期化する。
【００４２】
次に、意味訓練データ取得部１１１は、意味訓練コーパス１２１に含まれる複数の意味訓練データ１３１のうち一つを取得する（Ｓ１１２）。図４は、意味訓練コーパス１２１の一例を示す図である。図４に示すように、意味訓練コーパス１２１は、２以上の意味訓練データ１３１が集積されたものである。各意味訓練データ１３１は、発話文となりうる文章のテキストデータである文章１３４と、当該意味訓練データ１３１を一意に特定するための識別子である文章ＩＤ１３３と、当該文章１３４の意味を示す教師データである意味情報１３２（意味ラベル）とを含む。つまり、意味訓練データ１３１は、文章１３４と、意味情報１３２とを対応付けるデータである。
【００４３】
通常、日本語の場合、テキストデータは単語の区切りがない文字列データとして記述されることが一般的である。これに対して、形態素解析ソフトウェア（例えば、ＭｅＣａｂ）によって単語の区切りがない状態で記述された文字列から、単語単位に分割された単語列データを得ることができる。よって、テキストデータは、出現順に従って単語単位に分割されたうえで文章１３４として格納される。
【００４４】
例えば、図４に示す例は、問診で想定される患者の返答に対応する意味訓練コーパス１２１の例である。意味訓練データ取得部１１１は、文章ＩＤ１３３をインクリメントしていき、対応する意味訓練データ１３１（意味情報１３２及び文章１３４）を順次取り出す。また、文章ＩＤ１３３が終端になった場合、意味訓練データ取得部１１１は、先頭の文章ＩＤ１３３に戻って意味訓練データ１３１を取り出す。
【００４５】
次に、換言訓練データ取得部１１２は、換言訓練コーパス１２２に含まれる複数の換言訓練データ１４１のうち一つを取得する（Ｓ１１３）。図５は、換言訓練コーパス１２２の一例を示す図である。図５に示すように、換言訓練コーパス１２２は、２以上の換言訓練データ１４１が集積されたものである。各換言訓練データ１４１は、文章ＩＤ１３３と、文章１３４と、文章１３４の換言文のテキストデータであり、意味訓練コーパス１２１において当該文章１３４と同一の意味ラベルを持つ複数の他の文章である換言文候補を示す換言文１４２とを含む。つまり、換言訓練データ１４１は、文章１３４と、換言文１４２とを対応付けるデータである。なお、文章ＩＤ１３３及び文章１３４は、意味訓練データ１３１に含まれる情報と同一である。
【００４６】
換言訓練データ取得部１１２は、換言訓練コーパス１２２に含まれる複数の換言訓練データ１４１のうち、ステップＳ１１２で取得された意味訓練データ１３１と同一の文章ＩＤ１３３を有する換言訓練データ１４１を取得する。そして、換言訓練データ取得部１１２は、取得した換言訓練データ１４１に含まれる換言文１４２で示される換言文候補から教師となる換言文を、擬似乱数テーブルに基づき、無作為に１つ抽出する。
【００４７】
次に、学習部１１３は、取得された意味訓練データ１３１及び換言訓練データ１４１を共通のモデルに適用することにより、発話文（文章１３４）に含まれる単語の重要度を含む、発話文（文章１３４）と意味情報１３２及び換言文１４２との対応付けを学習する。ここで、モデルとは、例えば、後述するニューラルネットワークモデル１５１である。
【００４８】
具体的には、意味学習部１１４は、意味訓練コーパス１２１に含まれるテキストデータを用いて教師あり学習を行うことで、語句の重要度を含む、文章と意味情報との対応付けを学習する。つまり、意味学習部１１４は、文章に対して各意味情報の確率値を割り当てるための学習を行う。その際の原理としては、意味情報ごとに高頻度で出現する語句に重要度を付けて抽出し、文章の単語列から統合的に各意味情報の確率を算出する。
【００４９】
図６は、本実施の形態における学習部１１３が用いるニューラルネットの概略を表す図である。意味学習部１１４は、ステップＳ１１２で取得した意味訓練データ１３１に含まれる文章１３４に対する意味情報１３２の事後確率を算出する（Ｓ１１４）。例えば、図４に示す文章ＩＤ１３３が「０００２」の「いびきがあります」という文章１３４に対して、図６に示すニューラルネットワークモデル１５１を用いて、意味情報１３２の事後確率を算出する。
【００５０】
なお、図６においては、意味学習に用いられるニューラルネットワークモデル１５２と、換言学習に用いられるニューラルネットワークモデル１５３とが、隠れ層２を介して結合し、全体として１つのニューラルネットワークモデル１５１を構成している。本実施の形態では、このように、異なるタスクを行うための複数のモデルが一部で結合されることにより構成されるモデル全体を、「共通のモデル」と称する。
【００５１】
また、換言学習部１１５は、ステップＳ１１３で取得した換言訓練データ１４１に含まれる文章１３４に対する換言文１４２の事後確率を算出する（Ｓ１１５）。例えば、図５に示す文章ＩＤ１３３が「０００２」の「いびきがあります」という文章に対して、図６に示すニューラルネットワークモデル１５１を用いて、換言文１４２の事後確率を算出する。
【００５２】
ここで、換言学習部１１５は、意味学習部１１４単体での重要語の抽出誤りを削減するために、意味学習部１１４の内部情報（学習パラメータの一部）を利用し、文章を換言文に変換する換言学習を行っている。つまり、発話文（文章）と換言文との対応付けの学習は、発話文（文章）と意味情報との対応付けの学習において得られた内部情報を用いて行われる。具体的には、この内部情報は、図６に示すニューラルネットワークモデル１５２及び１５３の隠れ層１及び隠れ層２において共通の学習パラメータである重み行列Ｗｗｏｒｄ及びＷ等である。重み行列Ｗｗｏｒｄ及びＷは、ニューラルネットワークモデルにおける各層間の重みを示す。
【００５３】
より具体的には、図６の例において、意味学習に用いられるニューラルネットワークモデル１５２における隠れ層１及び隠れ層２が隣接する各層との間の重みを、換言学習に用いられるニューラルネットワークモデル１５３における隠れ層１及び隠れ層２が隣接する各層との間の重みとして用いることにより、内部情報の利用を行う。なお、ニューラルネットワークモデル１５２とニューラルネットワークモデル１５３の間での内部情報の利用は、ニューラルネットワークモデル１５２とニューラルネットワークモデル１５３とを結合する隠れ層２を介して行われる。言い換えると、ニューラルネットワークモデル１５２とニューラルネットワークモデル１５３とが隠れ層２を介して結合されることにより、２つのモデルの間での内部情報の利用が可能となる。
【００５４】
換言学習の原理としては、文章と文の終端を表す「ＥＯＳ」とを時系列に入力した状態で、換言文の１文字目を出力し、発話文と文の終端を表す「ＥＯＳ」、そして、既に出力した換言文の１文字目を入力として、換言文の２文字目を出力する。再度、「ＥＯＳ」を出力するまで時系列の入力がスタックされた状態で、次の文字を出力し続ける。
【００５５】
次に、学習部１１３は、ステップＳ１１２とＳ１１３で抽出した教師データ（意味情報１３２、換言文１４２）と、ステップＳ１１４及びＳ１１５で算出した事後確率との間で誤差逆伝搬学習を行う（Ｓ１１６）。学習部１１３は、例えば、「いびきがあります」という文章に対する、意味情報及び換言文の予測した事後確率と、教師データである、意味情報「いびき」、及び換言文「私はいびきがあります」のベクトル表現とを用いて誤差計算を行う。また、学習部１１３は、例えば、意味情報の事後確率と教師データとの誤差と、換言文の事後確率と教師データとの誤差との平均が小さくなるように誤差逆伝搬学習を行う。
【００５６】
また、学習部１１３は、学習処理を終了するか否かを判定する（Ｓ１１７）。例えば、学習部１１３は、学習を繰り返しても誤差が減らなくなった場合に学習処理を終了すると判定する。
【００５７】
学習処理を終了しない場合（Ｓ１１７でＮｏ）、再度、ステップＳ１１２以降の処理が、次の意味訓練データ１３１に対して行われる。また、学習処理を終了する場合（Ｓ１１７でＹｅｓ）、上記学習処理の結果を示す学習結果情報１２３が記憶部１０３に記憶される。具体的には、この学習結果情報１２３は、学習処理終了時の学習パラメータを示す。
【００５８】
以下、ニューラルネットワークモデル１５１を用いた学習処理を詳細に説明する。図７は、本実施の形態におけるニューラルネットワークモデル１５１の入出力となるベクトル表現の例を示す図である。
【００５９】
まず、学習において、入力となる文章は、図７に示すように文章に含まれる単語数個の語彙次元ベクトルで表現されている。語彙次元ベクトルは、単語ごとに持つ識別番号（１〜語彙数）に対応した要素のみが１であり、残りの要素が０であるベクトルである。例えば、「私」という単語の識別番号が４である場合、語彙次元ベクトルは（０，０，０，１，・・・・）となる。つまり、一つの文章は語彙次元ベクトルが時系列に並んだ行列で表現される。
【００６０】
また、学習において、出力となるべき意味情報は、図７に示すように意味情報の定義数を次元数として持つラベルベクトルで表現されている。ラベルベクトルは意味ラベルごとに持つ識別番号（１〜意味ラベルの定義数）に対応した要素のみが１であり、残りの要素が０であるベクトルである。図６において、ｘ１〜ｘ３は文章を構成する単語列であり、ｙは意味情報であり、ｚ１〜ｚ６は換言文を構成する単語列である。
【００６１】
また、図６に示すニューラルネットワークモデル１５１は、時系列データである文章を入力とし、入力層から出力層までの４層のリカレントニューラルネットワークにより構成されている。また、リカレントニューラルネットワークの中でも記憶ユニットと呼ばれるモジュールを持たせることで、長期依存関係を学習可能であることが優れている点である。このニューラルネットワークモデル１５１は、下記（式１）及び（式２）で表すクロスエントロピー誤差の値を最小化することを目的とする。
【００６２】
【数１】
2017228272.tif 000003
【００６３】
Ｐ（Ｙ＝ｙｋ｜ｘ１，…．．ｘＴ；θ）は文章に対する各意味情報の事後確率を示しており、Ｐ（ｚ１，……ｚＴ’｜ｘ１，…．．ｘＴ；θ）は、文章に対する教師となる換言文の事後確率を示している。ｘ１〜ｘＴは文章であり、ｙは意味情報であり、ｚ１〜ｚＴ’は換言文である。また、θはニューラルネットワークの全ての学習パラメータである。そして、学習部１１３は、（式１）と（式２）で表す誤差の値を最小化するために、θを誤差逆伝搬法により更新していく。
【００６４】
図６に示す例では、意味学習に用いられるニューラルネットワークモデル１５２と、換言学習に用いられるニューラルネットワークモデル１５３とが、隠れ層２を介して結合している。このような構成において、各意味情報の事後確率の誤差の値と換言文の事後確率の誤差の値の両者を最小化するように全ての学習パラメータが更新されることによって、換言学習の結果が、意味学習に用いられるニューラルネットワークモデル１５２の学習パラメータに反映される。
【００６５】
以降、各事後確率が求まるまでの、ニューラルネットワークの処理の流れを説明する。まず、学習部１１３は、図６における入力層から隠れ層１の間で、（式３）において、語彙次元ベクトルで表現されたｘｔ，ＥＯＳ，ｚｔを重み行列Ｗｗｏｒｄにより次元数を削減した分散ベクトルｖｔに変換する。
【００６６】
【数２】
2017228272.tif 000004
【００６７】
次に、学習部１１３は、図６における隠れ層１から隠れ層２の間では、（式４）〜（式７）に示すように、分散ベクトルに４つの重み行列Ｗｉ，Ｗｃ，Ｗｆ，Ｗｏをかけ、一つ前の隠れ層２の出力を示すｈｔ−１に重み行列Ｈｉ，Ｈｃ，Ｈｆ，Ｈｏをかけ、バイアス項であるｂｉ，ｂｃ，ｂｆ，ｂｏを足し合わせた結果を、活性化関数であるｓｉｇｍｏｉｄ関数の引数とすることで、要素に０〜１の値を持つ４つのベクトルｉｔ，ｃ〜ｔ（（式５）の左辺），ｆｔ，ｏｔを算出する。
【００６８】
【数３】
2017228272.tif 000005
【００６９】
ｉｔ，ｃ〜ｔ，ｆｔ，ｏｔは、記憶ユニットの制御を行うためのベクトルであり、前から順に記憶入力制御、入力記憶セルｃ〜ｔ、記憶忘却制御、記憶出力制御を担っている。
【００７０】
次に、学習部１１３は、（式８）に示すように、入力制御ベクトルｉｔ、入力記憶セルｃ〜ｔ、忘却制御ベクトルｆｔ、及び前記憶ユニット値ｃｔ−１を用いて、ニューラルネットワークが持つ記憶セルｃｔの値を更新する。
【００７１】
【数４】
2017228272.tif 000006
【００７２】
次に、学習部１１３は、（式９）で示すように、出力制御ベクトルｏｔと記憶セルｃｔにより現在の隠れ層２の出力であるｈｔを算出する。
【００７３】
【数５】
2017228272.tif 000007
【００７４】
（式２）〜（式７）までの処理は、時系列の入力と出力間の長期依存関係を学習するために、記憶ユニットを通して入力から出力までを伝えるＬＳＴＭと呼ばれるリカレンニューラルネットワークの亜種特有の処理である。
【００７５】
また、図６に示すニューラルネットワークモデル１５２における隠れ層２から出力層の間で、（式１０）に示すように、ｘ１〜ｘＴの入力から得られるｈ１ｓｅｍ〜ｈＴｓｅｍの平均ベクトルが得られる。
【００７６】
【数６】
2017228272.tif 000008
【００７７】
そして、学習部１１３は、（式１１）により平均ベクトルに重み行列Ｏｓｅｍを掛け、バイアス項ｂｓｅｍを足すことでｏｓｅｍを算出する。
【００７８】
【数７】
2017228272.tif 000009
【００７９】
ｏｓｅｍは、意味ラベルの定義数を次元数とするベクトルであり、各要素を（式１２）で示すｓｉｇｍｏｉｄ関数（σ）の引数とすることで、各意味ラベルを持つか否かを０〜１の確率値で表現された予測確率ベクトルが得られる。
【００８０】
【数８】
2017228272.tif 000010
【００８１】
そして、予測確率ベクトルの１要素が、（式１）の損失関数におけるＰ（Ｙ＝ｙｋ｜ｘ１，…．．ｘＴ；θ）を指している。
【００８２】
また、図６に示すニューラルネットワークモデル１５３における隠れ層２から出力層の間で、（式１３）に示すように、ＥＯＳ，ｚ１〜ｚＴ’の入力から得られるｈ１ｐａｒａ〜ｈＴ’ｐａｒａに対して、行列Ｏｐａｒａを掛け、バイアス項ｂｐａｒａを足した結果ｏｔｐａｒａが得られる。
【００８３】
【数９】
2017228272.tif 000011
【００８４】
Ｏｔｐａｒａは、語彙数を次元数とするベクトルであり、各要素を（式１４）で示すｓｏｆｔｍａｘ関数の引数とすることで、予測する単語の確率分布を表すベクトルが得られる。
【００８５】
【数１０】
2017228272.tif 000012
【００８６】
そして、確率分布の教師に該当する要素が、（式１５）におけるＰ（ｚｔ｜ｃ，ｚ１，…．．ｚｔ−１；θ）を指している。ここで、ｃはｈＴｓｅｍを指す文脈ベクトルである。
【００８７】
【数１１】
2017228272.tif 000013
【００８８】
以上により、図６に示すニューラルネットワークモデル１５１により、意味情報及び換言文の事後確率が算出される。なお、後述する意味生成処理（Ｓ１０２）では、ニューラルネットワークモデル１５２のみが用いられるので、ニューラルネットワークモデル１５２で使用される学習パラメータのみが、学習結果情報１２３として保存されてもよい。つまり、学習結果情報１２３として、学習結果である文章と意味情報との対応付けが記憶される。また、学習結果情報１２３は、学習結果である語句の重要度を含む。具体的には、上述した重み行列Ｗｗｏｒｄ、Ｗ等が語句の重要度に対応する。
【００８９】
次に、意味生成処理（図２のＳ１０２）の詳細を説明する。図８は、本実施の形態における意味生成処理（Ｓ１０２）のフローチャートである。
【００９０】
まず、発話文取得部１１６は、発話文テーブル１２４に含まれる複数の発話文データ１６１のうち一つを取得する（Ｓ１２１）。図９は、発話文テーブル１２４の一例を示す図である。図９に示すように発話文テーブル１２４は、複数の発話文データ１６１を含む。各発話文データ１６１は、当該発話文データ１６１を一意に特定するための識別子である発話ＩＤ１６２と、ユーザにより発話された文章のテキストデータである発話文１６３とを含む。
【００９１】
次に、意味生成装置１００は、学習結果情報１２３に基づき、発話文１６３に対応する意味情報を生成する。まず、形態素解析部１１７は、単語の区切りがない状態で記述された文字列である発話文１６３を、単語単位に分割することで単語列データを得る（Ｓ１２２）。例えば、この機能は、形態素解析ソフトウェア（例えば、ＭｅＣａｂ）などで実現することができる。
【００９２】
次に、意味生成部１１８は、ステップＳ１２２で得られた単語列データを用いて、各意味情報の尤もらしさを表す事後確率を算出する（Ｓ１２３）。具体的には、意味生成部１１８は、学習結果情報１２３として保存されている学習パラメータを適用したニューラルネットワークモデル１５２に、ステップＳ１２２で得られた単語列データを入力することで、意味情報の事後確率を算出する。また、算出された意味情報は、意味情報テーブル１２５に格納される。
【００９３】
また、図８に示す一連の処理は、発話文テーブル１２４に含まれる複数の発話文データ１６１に対して順次実行され、各発話文データ１６１に対応する意味情報が意味情報テーブル１２５に格納される。
【００９４】
図１０は、本実施の形態に係る手法により生成された意味情報テーブル１２５の一例を示す図である。図１１は、比較のための図であり、換言文の学習は行わず、意味情報の学習のみを行った場合の意味情報テーブル１２５Ａの一例を示す図である。
【００９５】
図１０に示すように、意味情報テーブル１２５は、複数の意味情報データ１７１を含む。各意味情報データ１７１は、発話ＩＤ１６２と、発話文１６３と、意味情報の事後確率１７２とを含む。発話ＩＤ１６２及び発話文１６３は、発話文テーブル１２４に含まれる情報と同一である。事後確率１７２は、ステップＳ１２３で算出された事後確率を示す。具体的には、事後確率１７２は、複数の意味情報の各々の確率を示す。つまり、事後確率１７２は、発話文１６３の意味情報を示す情報の一例である。
【００９６】
ここで、図１１に示すように、換言文の学習を行わない場合には、発話文「私は学生です」に対して、事後確率は「いびき」＝０．６０、「頭痛」＝０．００、「腹痛」＝０．００となる。ここで、各確率は総和が１ではなく、複数の意味情報が１に近いことも持ちうる。そして、事後確率がある閾値（例えば、０．５）を超える場合に、発話文がその意味情報を持つと判定できる。逆に事後確率が閾値を超えない場合、無関係な発話と判定できる。
【００９７】
図１１に示すように、換言文の学習を行わない場合には、「私はいびきがあります」という表現が「いびき」として学習される際に、この表現に含まれる「私」の重要度が高くなっている。これにより、「私」を含む「私は学生です」などの無関係な発話に対して、「いびき」の意味情報の事後確率が高くなってしまっている。
【００９８】
これに対して、図１０に示すように、本実施の形態のように換言文の学習を行う場合には、「私は学生です」などの無関係な発話に対して、「いびき」の意味ラベルの確率値が低くなっていることがわかる。このように、本実施の形態に係る意味生成装置１００は、意味情報の学習に加え、同じ意味の単語列のペアからなる換言文を用いた学習を行うことで、記述者共通の語句の重要度を高める学習を実現できる。これにより、ユーザの意図を正しく理解することが可能である。
【００９９】
このように、本実施の形態では、発話文になりえる文章を同じ意味の文章（換言文）に変換する学習を行う。また、その際に単語間で依存関係が強い語句が抽出されることを利用している。例えば、「いびき」などの内容語は換言前の文章の同義語又は類義語と強く依存する。一方、「私」又は「昨日から」は省略の可能性があるため、換言前の文章中のどの語句とも依存が強くない。したがって、内容語などを重要語句に設定し、それ以外を非重要語句に設定できるので、より意味に寄与する重要語句を抽出することが可能である。
【０１００】
なお、上記説明では、意味訓練コーパス１２１に複数の意味訓練データ１３１が含まれ、換言訓練コーパス１２２に複数の換言訓練データ１４１が含まれ、発話文テーブル１２４に複数の発話文データ１６１が含まれる例を示したが、これらの少なくとも一つは、一つの意味訓練データ１３１、換言訓練データ１４１又は発話文データ１６１のみを含んでもよい。
【０１０１】
また、上記説明では、意味生成装置１００において、学習処理と、意味生成処理との両方が行われる例を述べたが、これらの処理は異なる装置で行われてもよい。
【０１０２】
以下、上述した意味生成装置１００の利用形態について説明する。図１２は、意味生成装置１００を含む対話システムのブロック図である。この対話システムは、音声認識の機能を有し、クラウド上に存在するサーバ５００と、スマートフォン等の携帯端末４００とを含む。ユーザは、携帯端末４００を介して、音声によりシステムと自然言語による対話を行うことができる。
【０１０３】
携帯端末４００及びサーバ５００は、例えば、インターネット等の公衆通信ネットワークを介して接続されている。携帯端末４００は、スマートフォン又はタブレットなどである。
【０１０４】
携帯端末４００は、マイク４０１、信号処理部４０２、通信部４０３及び応答実行部４０４を備える。マイク４０１は、音声を電気的な音声信号に変換するものであり、ユーザの音声を収音するために用いられる。
【０１０５】
信号処理部４０２は、マイク４０１から入力される音声信号がノイズであるか否かを判定し、ノイズで無い場合、その音声信号を通信部４０３に出力する。
【０１０６】
通信部４０３は、入力された音声信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号をサーバ５００に送信する。
【０１０７】
応答実行部４０４は、信号処理部４０２が通信部４０３より受け取った応答文をモニタに表示する。
【０１０８】
サーバ５００は、意味生成装置１００、通信部５０１、音声処理部５０２、解析部５０３、及び応答生成部５０４を備える。通信部５０１は、携帯端末４００からの通信信号を受信し、通信信号から音声信号を取り出して、取り出した音声信号を音声処理部５０２に出力する。
【０１０９】
音声処理部５０２は、取り出された音声信号を解析することで、ユーザが発話した音声を示すテキストデータを生成する。
【０１１０】
意味生成装置１００は、例えば、図１に示す意味生成装置１００であり、上述した学習処理が既に終了している状態である。意味生成装置１００は、音声処理部５０２で生成されたテキストデータを発話文テーブル１２４に追加し、上述した意味生成処理を行うことで、当該テキストデータの意味情報を意味情報テーブル１２５に追加する。
【０１１１】
解析部５０３は、意味生成装置１００から、ユーザの発話内容に対する意味情報（確率値）を受け取り、システムが理解可能な発話であるか否かを判定する。そして、ユーザの発話内容をシステムが理解できれば、解析部５０３は、その発話内容を応答生成部５０４に渡す。
【０１１２】
応答生成部５０４は、受け取った発話内容に対応する応答文を生成する。通信部５０１は、生成された応答文を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末４００に送信する。
【０１１３】
このように、図１２に示す対話システムでは、サーバ５００は、上記の学習が行われた後の意味生成装置１００を用いて、ユーザの発話を適切に理解し、応答することが可能である。
【０１１４】
以上、実施の形態に係る意味生成装置について説明したが、本開示は、この実施の形態に限定されるものではない。
【０１１５】
また、上記実施の形態に係る意味生成装置に含まれる各処理部は典型的には集積回路であるＬＳＩとして実現される。これらは個別に１チップ化されてもよいし、一部又は全てを含むように１チップ化されてもよい。
【０１１６】
また、集積回路化はＬＳＩに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。ＬＳＩ製造後にプログラムすることが可能なＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）、又はＬＳＩ内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
【０１１７】
また、本開示は、意味生成装置により実行される意味生成方法として実現されてもよい。
【０１１８】
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、ＣＰＵまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
【０１１９】
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェア又はソフトウェアが並列又は時分割に処理してもよい。
【０１２０】
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時（並列）に実行されてもよい。
【０１２１】
以上、一つまたは複数の態様に係る意味生成装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
【産業上の利用可能性】
【０１２２】
本開示は、意味生成装置に適用でき、例えば、音声又はテキストによるユーザの発話に基づいて応答を行うことでユーザのタスクを達成するコールセンター又は問診対話など、タスク指向の対話システム装置又は対話システム方式に利用可能である。
【符号の説明】
【０１２３】
１００  意味生成装置
１０１、１０３、１０５  記憶部
１０２、１０４  処理部
１１１  意味訓練データ取得部
１１２  換言訓練データ取得部
１１３  学習部
１１４  意味学習部
１１５  換言学習部
１１６  発話文取得部
１１７  形態素解析部
１１８  意味生成部
１２１  意味訓練コーパス
１２２  換言訓練コーパス
１２３  学習結果情報
１２４  発話文テーブル
１２５、１２５Ａ  意味情報テーブル
１３１  意味訓練データ
１３２  意味情報
１３３  文章ＩＤ
１３４  文章
１４１  換言訓練データ
１４２  換言文
１５１、１５２、１５３  ニューラルネットワークモデル
１６１  発話文データ
１６２  発話ＩＤ
１６３  発話文
１７１  意味情報データ
１７２  事後確率
４００  携帯端末
４０１  マイク
４０２  信号処理部
４０３、５０１  通信部
４０４  応答実行部
５００  サーバ
５０２  音声処理部
５０３  解析部
５０４  応答生成部
【図１】
2017228272.tif 000014
【図２】
2017228272.tif 000015
【図３】
2017228272.tif 000016
【図４】
2017228272.tif 000017
【図５】
2017228272.tif 000018
【図６】
2017228272.tif 000019
【図７】
2017228272.tif 000020
【図８】
2017228272.tif 000021
【図９】
2017228272.tif 000022
【図１０】
2017228272.tif 000023
【図１１】
2017228272.tif 000024
【図１２】
2017228272.tif 000025