IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ KDDI株式会社の特許一覧

特許7200154受話文に対する応答文を推論するプログラム、装置及び方法
<>
  • 特許-受話文に対する応答文を推論するプログラム、装置及び方法 図1
  • 特許-受話文に対する応答文を推論するプログラム、装置及び方法 図2
  • 特許-受話文に対する応答文を推論するプログラム、装置及び方法 図3
  • 特許-受話文に対する応答文を推論するプログラム、装置及び方法 図4
  • 特許-受話文に対する応答文を推論するプログラム、装置及び方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-12-23
(45)【発行日】2023-01-06
(54)【発明の名称】受話文に対する応答文を推論するプログラム、装置及び方法
(51)【国際特許分類】
   G06F 40/56 20200101AFI20221226BHJP
   G06F 40/44 20200101ALI20221226BHJP
【FI】
G06F40/56
G06F40/44
【請求項の数】 6
(21)【出願番号】P 2020023845
(22)【出願日】2020-02-14
(65)【公開番号】P2021128637
(43)【公開日】2021-09-02
【審査請求日】2022-01-18
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100135068
【弁理士】
【氏名又は名称】早原 茂樹
(72)【発明者】
【氏名】石川 彰夫
(72)【発明者】
【氏名】石先 広海
【審査官】木村 大吾
(56)【参考文献】
【文献】特開2018-028752(JP,A)
【文献】特開2019-020893(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/00-40/58
(57)【特許請求の範囲】
【請求項1】
受話文に対する応答文を推論する装置に搭載されたコンピュータを機能させるプログラムにおいて、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ようにコンピュータを機能させることを特徴とするプログラム。
【請求項2】
対訳エンコーダは、注意(attention)機構を有しており、
対訳エンコーダから生成される第1のコンテキストベクトルと、ニューラルネットワークから生成される第2のコンテキストベクトルとは、潜在的に注意機構を含む
ようにコンピュータを機能させることを特徴とする請求項1に記載のプログラム。
【請求項3】
対訳エンコーダ及び対訳デコーダはそれぞれ、異なる言語数に応じて複数有し、
対訳エンコーダは、異なる言語の複数のコーパステキストをそれぞれ入力し、1つのコンテキストベクトルを生成し、及び/又は、
対訳デコーダは、1つのコンテキストベクトルを入力し、異なる言語の複数のコーパステキストをそれぞれ出力する
べく学習したものとなるようにコンピュータを機能させることを特徴とする請求項1又は2に記載のプログラム。
【請求項4】
対訳エンコーダ及び対訳デコーダは、系列変換モデル(sequence-to-sequence)のニューラルネットワークに基づくものであり、
対訳エンコーダは、埋め込み層及び再帰層から構成され、
対訳デコーダは、埋め込み層、再帰層及び出力層から構成される
ようにコンピュータを機能させることを特徴とする請求項1から3のいずれか1項に記載のプログラム。
【請求項5】
受話文に対する応答文を推論する推論装置において、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ことを特徴とする推論装置。
【請求項6】
受話文に対する応答文を推論する装置の推論方法において、
装置は、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ように実行することを特徴とする推論方法。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、受話文に対する応答文を推論する対話生成システムの技術に関する。
【背景技術】
【0002】
従来、深層学習を用いた対話生成システムの技術がある(例えば非特許文献1参照)。この技術によれば、学習モデル自体がブラックボックスとなっており、シーケンスからシーケンスへ(sequence-to-sequence)の系列変換モデルとして学習する。用途として、マイクロブログや映画の字幕、トラブルシューティングデスクの問答集など多様な発話状況を含む対話コーパスを用いて、雑談のように特定の目的を伴わない対話(非タスク指向型対話)を実現する。
【0003】
図1は、従来技術における推論装置の機能構成図である。
【0004】
図1によれば、訓練段階及び運用段階からなり、各段階はそれぞれ、エンコーダ-デコーダモデルとして構成されている。エンコーダ及びデコーダはそれぞれ、次の単語の出現確率を出力するLSTM(Long short-term memory)に基づくものである。LSTMは、RNN(Recurrent Neural Network)の拡張として、時系列データ(sequential data)に対して長期記憶(Long term memory)及び短期記憶(Short term memory)によって構成された学習モデルである。
【0005】
<訓練段階>
学習データベースは、単語列のセットからなる学習用受話文及び学習用応答文を対応付けて記憶している。
エンコーダは、学習用受話文からコンテキストベクトルを生成し、デコーダは、当該コンテキストベクトルから学習用応答文を生成する、ように学習する。
図1によれば、例えば以下のように、学習用受話文及び学習用応答文を対応付けて学習している。
(1)学習用受話文「最近、英会話を習い始めました」
学習用応答文「英会話が出来ないのですか?」
(2)学習用受話文「山登りが趣味です」
学習用応答文「どの山に登りましたか?」
<運用段階>
エンコーダは、対象受話文からコンテキストベクトルを生成し、デコーダは、当該コンテキストベクトルから応答文を生成する。
【先行技術文献】
【非特許文献】
【0006】
【文献】Oriol Vinyals, Quoc V. Le, "A Neural Conversational Model", Proceedings of the 31st International Conference on Machine Learning, vol.37, 2017.
【文献】東中竜一郎,船越孝太郎,荒木雅弘,塚原裕史,小林優佳,水上雅博,“テキストチャットを用いた雑談対話コーパスの構築と対話破綻の分析”,自然言語処理,Vol.23,No.1,2016.
【文献】星の本棚、「自然言語処理(NLP)」、[online]、[令和1年12月29日検索]、インターネット<URL:http://yagami12.hatenablog.com/entry/2017/12/30/175113#ID_10-5-1>
【発明の概要】
【発明が解決しようとする課題】
【0007】
前述した非特許文献1に記載の技術によれば、系列変換モデルのみを用いるために、対話文の文脈までは学習していない。そのために、対話が破綻する場合があった。
【0008】
対話の破綻は、例えば以下の4つの事例に分類されている(例えば非特許文献2参照)。
(事例1)発話の破綻
発話そのものが破綻している場合がある。例えば、構文が崩れていて、そもそも日本語として成立していない場合がある。
(事例2)応答の破綻
日本語としては正しいが、相手の発言に対する応答が破綻している場合がある。例えば、受話文「それでは、趣味はなんですか?」に対して、応答文「最後に旅行されたのはいつですか?」を返答する場合がある。
(事例3)文脈の破綻
1回のやりとりとしては成立しているものの、既に話した内容とかみ合わない場合がある。例えば、10秒前には応答文「お菓子が好き」と返答したにも拘わらず、直ぐに応答文「お菓子が嫌い」と返答する場合がある。
(事例4)環境の破綻
社会的(常識的)に不適切な発言をしてしまう場合がある。例えば、米国のMicrosoft社が公開した人工知能bot「Tay」(登録商標)のように、急に人種差別的な発言をする場合がある。
一般的に、事例2の破綻が約5割、事例3の破綻が約3割、事例1の破綻が1割強で、事例4の破綻が少数程度、発生すると認識されている。
【0009】
ここで、事例2の応答の破綻について、その原因としては、エンコーダの注意機構が重要視した単語が不適切であることが考えられる。
また、事例1の発話の破綻について、その原因としては、デコーダの精度不足が考えられる。
【0010】
近年のニューラルネットワークを用いた自然言語処理では、文として自然であることを過度に優先することのないよう、エンコーダが「注意機構(Attention)」を備えている。
注意機構とは、新たに「デコーダで生成しようとしているi番目のtargetの単語翻訳時の内部状態」と、「エンコーダでの各単語の隠れ層」とを用いて計算されるコンテキストベクトルを、デコーダの推論時に用いるものである。そのために、注意機構を含むモデルでは、i番目の単語を出力するときに、入力として(1)1つ前の翻訳単語結果と、(2)デコーダの内部状態と、(3)注意機構によって算出されたコンテキストベクトルとが与えられ、それを用いてi番目の単語を推論する。
このように、注意機構によって重要視すべき単語や語句が指定されるために、適切な自然言語処理が可能となる。
【0011】
しかしながら、LSTMを用いたデコーダの場合、注意機構が学習用受話文及び学習用応答文に過学習を起こす場合があるために、受話文の文脈に対してではなく、注意機構が不適切な単語を重要視してしまうという課題がある。
【0012】
図1によれば、運用段階で、例えば以下のように、対象受話文がエンコーダに入力され、その応答文がデコーダから出力されている。
対象受話文「最近、山登りを始めました」
応答文 「山登りが出来ないのですか?」
ここで、応答文は日本語として問題は無いが、一般的に「山登りが出来ない」場合は限られており、受話文に対する応答文の文脈に不自然さや違和感を生じる。
これは、例えば訓練段階について、エンコーダが、例えば「~を始めました」を重要視したことによって、応答文「~が出来ないのですか?」の優先度が高まったものと考えられる。
このように、図1の例によれば、エンコーダの注意機構が重要視した単語が不適切であること(事例2の応答の破綻)や、デコーダの精度不足(事例1の発話の破綻)が考えられる。
【0013】
そこで、本発明は、応答の破綻や発話の破綻に陥らないように、受話文に対する応答文を推論するプログラム、装置及び方法を提供することを目的とする。
【課題を解決するための手段】
【0014】
本発明によれば、受話文に対する応答文を推論する装置に搭載されたコンピュータを機能させるプログラムにおいて、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ようにコンピュータを機能させることを特徴とする。
【0015】
本発明のプログラムにおける他の実施形態によれば、
対訳エンコーダは、注意(attention)機構を有しており、
対訳エンコーダから生成される第1のコンテキストベクトルと、ニューラルネットワークから生成される第2のコンテキストベクトルとは、潜在的に注意機構を含む
ようにコンピュータを機能させることも好ましい。
【0016】
本発明のプログラムにおける他の実施形態によれば、
対訳エンコーダ及び対訳デコーダはそれぞれ、異なる言語数に応じて複数有し、
対訳エンコーダは、異なる言語の複数のコーパステキストをそれぞれ入力し、1つのコンテキストベクトルを生成し、及び/又は、
対訳デコーダは、1つのコンテキストベクトルを入力し、異なる言語の複数のコーパステキストをそれぞれ出力する
べく学習したものとなるようにコンピュータを機能させることも好ましい。
【0017】
本発明のプログラムにおける他の実施形態によれば、
対訳エンコーダ及び対訳デコーダは、系列変換モデル(sequence-to-sequence)のニューラルネットワークに基づくものであり、
対訳エンコーダは、埋め込み層及び再帰層から構成され、
対訳デコーダは、埋め込み層、再帰層及び出力層から構成される
ようにコンピュータを機能させることも好ましい。
【0018】
本発明によれば、受話文に対する応答文を推論する推論装置において、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ことを特徴とする。
【0019】
本発明によれば、受話文に対する応答文を推論する装置の推論方法において、
装置は、
訓練段階として、
エンコーダ-デコーダモデルとして、第1の言語の第1のコーパステキストからコンテキストベクトルを生成する対訳エンコーダと、当該コンテキストベクトルから第1のコーパステキストの対訳となる第2の言語の第2のコーパステキストを出力する対訳デコーダとを学習し、
エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力するようにニューラルネットワークを学習し、
運用段階として、
対象の受話文から対訳エンコーダによって第1のコンテキストベクトルを生成し、
第1のコンテキストベクトルからニューラルネットワークによって第2のコンテキストベクトルを生成し、
第2のコンテキストベクトルから対訳デコーダによって応答文を推論する
ように実行することを特徴とする。
【発明の効果】
【0020】
本発明のプログラム、装置及び方法によれば、応答の破綻や発話の破綻に陥らないように、受話文に対する応答文を推論することができる。
【図面の簡単な説明】
【0021】
図1】従来技術における推論装置の機能構成図である。
図2】本発明における推論装置の訓練段階の機能構成図である。
図3】対訳デコーダ及び対訳エンコーダの訓練を表す第1の実施形態の説明図である。
図4】対訳デコーダ及び対訳エンコーダの訓練を表す第2の実施形態の説明図である。
図5】本発明における推論装置の運用段階の機能構成図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施の形態について、図面を用いて詳細に説明する。
【0023】
図2は、本発明における推論装置の訓練段階の機能構成図である。
【0024】
図2によれば、推論装置1は、訓練段階として、対訳コーパスデータベース101と、学習データベース102と、対訳エンコーダ111と、対訳デコーダ112と、ニューラルネットワーク12とを有する。これら機能構成図は、装置に搭載されたコンピュータを機能させるプログラムを実行することによって実現される。また、これら機能構成部の処理の流れは、装置の推論方法における訓練段階としても理解できる。
ここで、訓練は、第1の訓練段階と第2の訓練段階とに区分される。各訓練段階とも、エンコーダ-デコーダモデルとして、コンテキストベクトルを介して構成される。
【0025】
<<第1の訓練段階>>
第1の訓練段階では、対訳コーパスデータベース101に基づいて、対訳エンコーダ111及び対訳デコーダ112が訓練される。
【0026】
[対訳コーパスデータベース101]
対訳コーパスデータベース101は、異なる言語間で対訳となるコーパステキスト(corpus text)を蓄積したものである。これは、対訳エンコーダ111に入力すべき第1の言語のコーパステキストと、対訳デコーダ112で出力されるべき第2の言語のコーパステキストとを対応付けたものである。
コーパステキストは、例えばニューラル機械翻訳における多言語の対訳コーパスであってもよい。即ち、同じ意味を表す異なる言語を、対訳として用意する。
日本語:「私はあなたを愛している。」
英語 :「I love you.」
独語 :「Ich liebe dich.」
中国語:「我愛弥」
【0027】
[対訳エンコーダ111・対訳デコーダ112]
対訳エンコーダ111及び対訳デコーダ112は、対訳となる第1の言語のコーパステキスト及び第2の言語のコーパステキストを対応付けて入力し、エンコーダ-デコーダモデルとして学習する。
対訳エンコーダ111は、対訳コーパスデータベース101から入力した第1の言語のコーパステキストからコンテキストベクトルを生成する、ように学習する。ここで、対訳エンコーダは、注意(attention)機構を有する。
対訳デコーダ112は、当該コンテキストベクトルから、第2の言語のコーパステキストを出力する、ように学習する。
【0028】
対訳エンコーダ111及び対訳デコーダ112は、エンコーダ-デコーダモデルとして、一方の系列(sequence)から他方の系列へ変換する確率をモデル化した、ニューラルネットワークに基づく「系列変換モデル(sequence-to-sequence / seq2seq)」として構成されたものである(例えば非特許文献3参照)。即ち、系列Xが入力されたときの、ある系列Yが出力される条件付き確率P(Y|X)を、モデル化したものである。
系列変換モデルは、系列Xを入力し、固定長の「コンテキストベクトル」を生成する対訳エンコーダ111と、その固定長のコンテキストベクトルから系列Yを出力する対訳デコーダ112とから構成される。
【0029】
ここで、本発明によれば、最も注目すべき点として、受話文と応答文とは同一言語であるにも拘わらず、異なる言語間の対訳コーパスを用いることにある。
一般的に、受話文及び応答文が同一言語であれば、訓練段階及び運用段階も同一言語を用いる。当然、受話文及び応答文が日本語であれば、その他の言語間の対訳コーパスなど必要としない。もし、エンコーダ-デコーダのモデルで、日本語同士の対話のコーパスを用いたとしても、単なる恒等変換にしかならない。そのために、受話文及び応答文が同一言語であれば、対訳コーパステキストを用いることは全く想定されない。
これに対し、本発明によれば、あえて、受話文及び応答文が異なる言語となる「対訳コーパス」を用いて学習している。これによって、対訳エンコーダが生成するコンテキストベクトルに内在する注意機構の過学習を防ぐことができる。特に、対訳の言語種別が多いほど、個々の言語モデルの影響を受けないコンテキストベクトルの生成が可能となる。最終的に生成される応答文は、既存の言語モデルの影響をできる限り受けないものとなることが期待される。
【0030】
図3は、対訳デコーダ及び対訳エンコーダの訓練を表す第1の実施形態の説明図である。
【0031】
図3によれば、対訳エンコーダ111には、第1の言語のコーパステキストに基づく形態素系列が入力される。
日本語:「あなた/を/愛し/て/いる/<EOS>」
対訳デコーダ112には、第2の言語のコーパステキストに基づく形態素系列が入力される。
英語:「<BOS>/I/love/you/<EOS>」
第1の言語のコーパステキスト、第2の言語のコーパステキストとは、異なる言語であるが、同義文である。
【0032】
また、図3によれば、対訳エンコーダ111には、例えば以下の日本語文が入力されている。
「幕府は、1639年、ポルトガル人を追放し、大名には沿岸の警備を命じた。」
これに対し、対訳デコーダ112は、コンテキストベクトルから、以下のような英語文を出力するように、対訳エンコーダ111及び対訳デコーダ112を学習する。
「The shogunate banished Portuguese in 1639, ordered Daimyo to guard
the coast.」
同様に、図3によれば、対訳エンコーダ111には、例えば以下の日本語文が入力されている。
「1639年、ポルトガル人は追放され、幕府は大名から沿岸の警備を命じられた。」
これに対し、対訳デコーダ112は、コンテキストベクトルから、以下のような英語文を出力するように、対訳エンコーダ111及び対訳デコーダ112を学習する。
「In 1639, the Portuguese were expelled, and the shogunate was ordered
to protect the coast from Daimyo.」
【0033】
図3によれば、対訳エンコーダ111は、埋め込み層及び再帰層から構成され、第1の言語のコーパステキストからコンテキストベクトルを出力するように学習する。
埋め込み層は、入力テキストXの各単語xを、埋め込みベクトル(embedding vector)の分散表現(distribute representation)に変換する。
次に、再帰層は、埋め込みベクトルを入力し、コンテキストベクトルを出力するように、再帰型ニューラルネットワークとして機能する。
【0034】
これに対し、デコーダ12は、埋め込み層、再帰層及び出力層から構成され、コンテキストベクトルを入力し、第2の言語のコーパステキストを出力するように学習する。
埋め込み層は、出力テキストYの各単語yを、埋め込みベクトルの分散表現に変換する。
次に、再帰層は、埋め込みベクトルとコンテキストベクトルとを入力し、再帰型ニューラルネットワークとして機能する。
出力層は、再帰層から出力された出力系列Yの単語yに対応する隠れ層状態ベクトルを入力し、テキストを出力する。
【0035】
図4は、対訳デコーダ及び対訳エンコーダの訓練を表す第2の実施形態の説明図である。
【0036】
図4によれば、4つの異なる言語のコーパステキストを対応付けると共に、2つの対訳エンコーダ111と、2つの対訳デコーダ112とから、コンテキストベクトルが生成されている。即ち、2つの対訳エンコーダ111と2つの対訳デコーダ112とによって構成している。
図4によれば、日本語に対応する対訳エンコーダ111と、中国語に対応する対訳エンコーダ111とからの出力となるコンテキストベクトルを、英語に対応する対訳デコーダ112と、独語に対応する対訳デコーダ112とに入力して学習している。これによって、4つの異なる言語について、同義文となる対訳コーパスに共通するコンテキストベクトルが生成されることとなる。
【0037】
勿論、更なる実施形態として、対訳エンコーダ111及び対訳デコーダ112を、1対2、2対1と異なるように構成してもよい。
例えば、日本語に対応する対訳エンコーダ111とからの出力となるコンテキストベクトルを、英語に対応する対訳デコーダ112と、独語に対応する対訳デコーダ112とに入力して学習するものであってもよい。
また、例えば、日本語に対応する対訳エンコーダ111と、中国語に対応する対訳エンコーダ111とからの出力となるコンテキストベクトルを、英語に対応する対訳デコーダ112に入力して学習するものであってもよい。
【0038】
<<第2の訓練段階>>
図2に戻って、第2の訓練段階では、学習データベース102と、2つの対訳エンコーダ111と、ニューラルネットワーク12とによって訓練される。
【0039】
[学習データベース102]
学習データベース102は、学習用受話文及び学習用応答文を対応付けて蓄積したものである。これは、従来技術としての図1における学習データベースと同様のものである。
【0040】
[2つの対訳エンコーダ111]
2つの対訳エンコーダ111は、第1の訓練段階で学習された対訳エンコーダ111をそのまま用いている。一方の対訳エンコーダ111は、対話となる学習用受話文を入力して、その学習用受話文からコンテキストベクトルを生成し、そのコンテキストベクトルをニューラルネットワーク12へ入力する。他方の対訳エンコーダ111は、対話となる学習用応答文を入力し、その学習用応答文からコンテキストベクトルを生成し、そのコンテキストベクトルをニューラルネットワーク12の出力側へ入力する。
【0041】
例えば前述した図1と同様に、以下のように、学習用受話文及び学習用応答文を対応付けて学習している。
(1)学習用受話文「最近、英会話を習い始めました」
学習用応答文「英会話が出来ないのですか?」
(2)学習用受話文「山登りが趣味です」
学習用応答文「どの山に登りましたか?」
【0042】
[ニューラルネットワーク12]
ニューラルネットワーク12は、エンコーダ-デコーダモデルとして、学習用受話文から対訳エンコーダによって生成されたコンテキストベクトルを入力した際に、当該学習用受話文の対話となる学習用応答文から対訳エンコーダによって生成されたコンテキストベクトルを出力する、ように学習する。
ニューラルネットワーク12は、例えば畳み込みニューラルネットワークであるのが好ましい。
【0043】
注目すべき点は、対訳エンコーダ111及び対訳デコーダ112を学習させるものではない、ことにある。
また、2つの対訳エンコーダ111によって生成されたそれぞれのコンテキストベクトルは、潜在的に注意機構を含むこととなる。
本発明によれば、対訳コーパスデータベース101を用いることによって、対訳エンコーダ111の注意機構は、言語の種別に影響されず、意味的に重要な単語を重要視するようになるため、応答文の破綻を抑制することができる。ここで、複数の異なる言語の対訳コーパスを用いて対訳デコーダ112を訓練することによって、性能が改善し、応答文の破綻を更に抑制することができる。
【0044】
<<運用段階>>
図5は、本発明における推論装置の運用段階の機能構成図である。
【0045】
推論装置1は、対象受話文に対する応答文を推論する。
図5によれば、運用段階では、対訳エンコーダ111と、ニューラルネットワーク12と、対訳デコーダ112とからなるエンコーダ-デコーダモデルによって推論される。対訳エンコーダ111及び対訳デコーダ112は、第1の訓練段階で訓練されたものであり、ニューラルネットワーク12は、第2の訓練段階で訓練されたものである。
【0046】
対訳エンコーダ111は、対象の受話文から第1のコンテキストベクトルを生成する。
次に、ニューラルネットワーク12は、第1のコンテキストベクトルから第2のコンテキストベクトルを生成する。
そして、対訳デコーダ112は、第2のコンテキストベクトルから応答文を生成する。
ここで、第1のコンテキストベクトル及び第2のコンテキストベクトルは、潜在的に注意機構を含むこととなる。
【0047】
図5によれば、運用段階で、例えば以下のように、対象受話文が対訳エンコーダ111に入力され、その応答文が対訳デコーダ112から出力されている。
対象受話文「最近、山登りを始めました」
応答文 「どの山に登りましたか?」
ここで、応答文は、日本語として問題は無いだけでなく、文脈に不自然さや違和感も生じない。これは、エンコーダ-デコーダモデルのコンテキストベクトルに内在する注意機構が過学習を起こしていないことに基づくものである。この点で、従来技術における前述した図1と異なっている。
【0048】
本発明によれば、対訳コーパスデータベース101を用いて対訳エンコーダ111を訓練しているために、「(英会話を)習い始めました」と「(山登りを)始めました」とを明確に区別して学習している。そのために、対訳エンコーダ111の注意機構は、「始めました」以外(例えば「山登り」)を重要視し、最終的には、正しい応答文を推論することとなる。
特に、深層学習が不得手とする「対話文生成」が可能となり、そのニューラルネットワークの適用範囲を広げることができる。
【0049】
以上、詳細に説明したように、本発明のプログラム、装置及び方法によれば、応答の破綻や発話の破綻に陥らないように、受話文に対する応答文を推論することができる。
【0050】
前述した本発明の種々の実施形態について、本発明の技術思想及び見地の範囲の種々の変更、修正及び省略は、当業者によれば容易に行うことができる。前述の説明はあくまで例であって、何ら制約しようとするものではない。本発明は、特許請求の範囲及びその均等物として限定するものにのみ制約される。
【符号の説明】
【0051】
1 推論装置
101 対訳コーパスデータベース
102 学習データベース
111 対訳エンコーダ
112 対訳デコーダ
12 ニューラルネットワーク


図1
図2
図3
図4
図5