(57)【要約】      （修正有）【課題】階層的積層型ニューラルネットワークを使用して会話システムにおける概念的照応指示を解析する。【解決手段】ディープ階層的マックスプールネットワークに基づくモデルが、ユーザから受信される各発話の表現および発話の１つまたは複数の生成されたシーケンスの表現を得るために使用される。得られた表現は、1つまたは複数の生成されたシーケンス内の文脈上の依存性を識別するためにさらに使用され、このことは会話システムにおいて概念的照応指示を解析する際に役立つ。さらに、発話の着信シーケンスに対する応答が、１つまたは複数の事前に作成した応答への発話の着信シーケンスの分類に基づいて検索される。【選択図】図２
2020024385.tif 000002
【特許請求の範囲】
【請求項１】
プロセッサに実装された方法であって、
マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信するステップ(202)と、
(i)前記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)前記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得するステップ(204)と、
(a)(i)前記1つまたは複数の生成したシーケンスおよび(ii)前記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して前記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、前記1つまたは複数の生成したシーケンスおよび前記複数の連続する発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練するステップ(206)と、
前記DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて前記複数の連続する発話の前記表現を更新するステップ(208)と、
前記訓練されたDHMNに基づくモデルおよび前記識別した文脈上の依存性を使用して、(i)前記更新した表現および(ii)前記1つまたは複数の生成したシーケンスの前記表現のうちの少なくとも1つに基づいて、前記発話の着信シーケンスを前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類するステップ(210)と
を含む、方法。
【請求項２】
前記更新した表現と、前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される前記発話の着信シーケンスとのうちの少なくとも1つに基づいて前記DHMNに基づくモデルを動的に最適化するステップをさらに含む、請求項1に記載の方法。
【請求項３】
前記更新した表現が、前記複数の発話の前記各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、前記類似性スコアが損失関数を使用して計算される、請求項1に記載の方法。
【請求項４】
文字-単語エンコーダ(CWE)ネットワークによる前記表現を更新する前記ステップが、発話の誤分類を断つことを含む、請求項1に記載の方法。
【請求項５】
前記複数の連続する発話を受信すると、前記複数の連続する発話に対して実行されるべき1つまたは複数の行為を決定するステップをさらに含む、請求項1に記載の方法。
【請求項６】
メモリ(102)と、
1つまたは複数の通信インターフェース(104)と、
前記1つまたは複数の通信インターフェースを介して前記メモリにつなげられた1つまたは複数のハードウェアプロセッサ(106)であって、
マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信し、
(i)前記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)前記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得し、
(a)(i)前記1つまたは複数の生成したシーケンスおよび(ii)前記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して前記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、前記1つまたは複数の生成したシーケンス、前記複数の連続する発話、および前記1つまたは複数の関連する過去の発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練し、
前記DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて前記複数の連続する発話の前記表現を更新し、
前記訓練されたDHMNに基づくモデルおよび前記識別した文脈上の依存性を使用して、(i)前記更新した表現および(ii)前記1つまたは複数の生成したシーケンスの前記表現のうちの少なくとも1つに基づいて、前記発話の着信シーケンスを前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類する
ように構成される、1つまたは複数のハードウェアプロセッサと
を備えた、システム(100)。
【請求項７】
前記1つまたは複数のハードウェアプロセッサが、前記更新した表現と、前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される前記発話の着信シーケンスとのうちの少なくとも1つに基づいて前記DHMNに基づくモデルを動的に最適化するようにさらに構成される、請求項6に記載のシステム。
【請求項８】
前記更新した表現が、前記複数の発話の各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、前記類似性スコアが損失関数を使用して計算される、請求項6に記載のシステム。
【請求項９】
前記複数の連続する発話の前記表現が、発話の誤分類を断つために前記文字-単語エンコーダ(CWE)ネットワークにより更新される、請求項6に記載のシステム。
【請求項１０】
前記1つまたは複数のハードウェアプロセッサが、命令によって、受信される前記複数の連続する発話に対して実行されるべき1つまたは複数の行為を決定するようにさらに構成される、請求項6に記載のシステム。
【請求項１１】
1つまたは複数の命令を含む1つまたは複数の非一時的な機械可読情報記憶媒体であって、前記1つまたは複数の命令が、1つまたは複数のハードウェアプロセッサにより実行されるときに、
マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信し、
(i)前記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)前記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得し、
(a)(i)前記1つまたは複数の生成したシーケンスおよび(ii)前記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して前記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、前記1つまたは複数の生成したシーケンスおよび前記複数の連続する発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練し、
前記DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて前記複数の連続する発話の前記表現を更新し、
前記訓練されたDHMNに基づくモデルおよび前記識別した文脈上の依存性を使用して、(i)前記更新した表現および(ii)前記1つまたは複数の生成したシーケンスの前記表現のうちの少なくとも1つに基づいて、前記発話の着信シーケンスを前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類する
ようにさせる、1つまたは複数の非一時的な機械可読情報記憶媒体。
【請求項１２】
前記更新した表現と、前記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される前記発話の着信シーケンスとのうちの少なくとも1つに基づいて前記DHMNに基づくモデルを動的に最適化するステップをさらに含む、請求項11に記載の1つまたは複数の非一時的な機械可読情報。
【請求項１３】
前記更新した表現が、前記複数の発話の各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、前記類似性スコアが損失関数を使用して計算される、請求項11に記載の1つまたは複数の非一時的な機械可読情報。
【請求項１４】
文字-単語エンコーダ(CWE)ネットワークよる前記表現を更新する前記ステップが、発話の誤分類を断つことを含む、請求項11に記載の1つまたは複数の非一時的な機械可読情報。
【請求項１５】
前記複数の連続する発話を受信すると、前記複数の連続する発話に対して実行されるべき1つまたは複数の行為を決定することをさらに含む、請求項11に記載の1つまたは複数の非一時的な機械可読情報。
【発明の詳細な説明】
【技術分野】
【０００１】
関連出願の相互参照
本出願は、2018年7月10日に出願したインド特許出願第201821025758号の優先権を主張する。上記出願の全内容は、参照により本明細書に組み込まれている。
【０００２】
本明細書における開示は、一般に照応指示解析の分野に関し、より具体的には、階層的積層型ニューラルネットワークを使用して会話システムにおける概念的照応指示を解析することに関する。
【背景技術】
【０００３】
ヒューマン-コンピュータインタラクション(HCI)は、研究の主な領域のうちの1つである。多種多様なアプリケーションのために多数のシステムに組み込まれたHCIを用いて、単に事実に基づく回答を与えるに過ぎないものよりもより洗練された対話ができるより自然な対話システムに対する需要の増加が必要である。自然言語を処理する一方で、照応指示の解析は、基本的なステップである。HCIに基づくシステムと対話しているユーザは、照応だけでなく、やはりユーザのクエリに関してユーザにより提示された先行のまたは後続の事実の同一指示解析もまたシステムが実行することを期待する。会話におけるこのような事実の存在は、主クエリの回答を時には修正する。例えば、「病気休暇を何日取れますか?」に対する回答は、「請負である」という事実がやはり存在するときには同じでないことがあるだろう。時には、多数の事実を一括して解析する必要がある。HCIに基づくシステムの典型的な例は、会話支援であることがあり、この支援は、非常に明白な理由のために要求されない限り、手作業による介入がほとんど必要ないようにするユーザの満足に対して、ユーザからの大部分の質問に回答することを期待されている。概念的照応指示解析は、先行詞とその照応形との間の関係を確立することを必要とする。
【０００４】
従来のシステムは、エンティティまたは目的語に対する名詞句を解析する記載-格付けモデルを使用することによって同一指示解析だけを解析する。大部分の既存の方法は、エンティティを識別し、引き続く代名詞の出現に対してこれらを関係付けるために標準NLPアルゴリズムを適用し、これが代名詞解析のために働く。いくつかの既存のシステムは、ユーザからの様々な質問に回答するためにナレッジグラフの使用を伴う。これらのシステムは、ナレッジグラフからの擬似事実検索に大部分が制限される。メモリネットワークを使用してユーザの質問に回答するために自動段落理解を使用するシステムが存在する。このようなシステムは、ユーザに示されようとしている回答の手作業による見直しを必要とし、複雑なクエリを取り扱うことができない。
【発明の概要】
【課題を解決するための手段】
【０００５】
本開示の実施形態は、従来システムにおいて発明者らによって認識された上に述べた技術的問題のうちの1つまたは複数に対する解として技術的な改善を提示する。例えば、一態様では、プロセッサに実装された方法が提供され:マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信するステップと;(i)上記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)上記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得するステップと;(a)(i)上記1つまたは複数の生成したシーケンスおよび(ii)上記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して上記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、上記1つまたは複数の生成したシーケンスおよび上記複数の連続する発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練するステップと;上記DHMNに基づくモデルに含まれる文字-単語エンコーダ(Character to Word Encoder)(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて上記複数の連続する発話の上記表現を更新するステップと;上記訓練されたDHMNに基づくモデルおよび上記識別した文脈上の依存性を使用して、(i)上記更新した表現および(ii)上記1つまたは複数の生成したシーケンスの上記表現のうちの少なくとも1つに基づいて、上記発話の着信シーケンスを上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類するステップとを含む。
【０００６】
ある実施形態では、上記更新した表現が、上記複数の発話の各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、上記類似性スコアが損失関数を使用して計算される。ある実施形態では、文字-単語エンコーダ(CWE)ネットワークにより上記表現を更新する上記ステップが、発話の誤分類を断つステップを含む。ある実施形態では、本方法は、上記複数の連続する発話を受信すると、上記複数の連続する発話に対して実行されるべき1つまたは複数の行為を決定するステップをさらに含む。ある実施形態では、本方法は、上記更新した表現、および上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される上記発話の着信シーケンスのうちの少なくとも1つに基づいて上記DHMNに基づくモデルを動的に最適化するステップをさらに含む。
【０００７】
もう1つの態様では、命令を記憶するメモリと;1つまたは複数の通信インターフェースと;上記1つまたは複数の通信インターフェースを介して上記メモリにつなげられた1つまたは複数のハードウェアプロセッサであって、上記1つまたは複数のハードウェアプロセッサが、マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信し;(i)上記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)上記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得し;(a)(i)上記1つまたは複数の生成したシーケンスおよび(ii)上記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して上記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、上記1つまたは複数の生成したシーケンス、および上記複数の連続する発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練し;上記DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて上記複数の連続する発話の上記表現を更新し;上記訓練されたDHMNに基づくモデルおよび上記識別した文脈上の依存性を使用して、(i)上記更新した表現および(ii)上記1つまたは複数の生成したシーケンスの上記表現のうちの少なくとも1つに基づいて、上記発話の着信シーケンスを上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類するための命令により構成される、1つまたは複数のハードウェアプロセッサとを備えた、システムが提供される。
【０００８】
ある実施形態では、上記更新した表現が、上記複数の発話の各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、上記類似性スコアが損失関数を使用して計算される。ある実施形態では、上記複数の連続する発話の上記表現が、発話の誤分類を断つために上記文字-単語エンコーダ(CWE)ネットワークにより更新される。ある実施形態では、上記1つまたは複数のハードウェアプロセッサが、命令によって、受信される上記複数の連続する発話に対して実行されるべき1つまたは複数の行為を決定するようにさらに構成される。ある実施形態では、上記1つまたは複数のハードウェアプロセッサが、上記更新した表現と、上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される上記発話の着信シーケンスとのうちの少なくとも1つに基づいて上記DHMNに基づくモデルを動的に最適化するようにさらに構成される。
【０００９】
さらにもう1つの態様では、1つまたは複数の命令を含む1つまたは複数の非一時的な機械可読情報記憶媒体であって、上記1つまたは複数の命令が、1つまたは複数のハードウェアプロセッサにより実行されるときに、マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実のために照応指示を示している発話の少なくとも部分集合からなる複数の連続する発話を、マルチターン検索チャットボットにおいて受信し;(i)上記複数の連続する発話の1つまたは複数のシーケンスを生成し、(ii)上記1つまたは複数の生成したシーケンスの各々に対してデータベースから1つまたは複数の事前に作成した対応する応答を取得し;(a)(i)上記1つまたは複数の生成したシーケンスおよび(ii)上記複数の連続する発話の各々に対する表現を取得し、(b)照応指示を解析するために各表現を使用して上記1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するために、上記1つまたは複数の生成したシーケンスおよび上記複数の連続する発話を使用して、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルを訓練し;上記DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークを使用して、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて上記複数の連続する発話の上記表現を更新し;上記訓練されたDHMNに基づくモデルおよび上記識別した文脈上の依存性を使用して、(i)上記更新した表現および(ii)上記1つまたは複数の生成したシーケンスの上記表現のうちの少なくとも1つに基づいて、上記発話の着信シーケンスを上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類するようにさせる、1つまたは複数の非一時的な機械可読情報記憶媒体が提供される。
【００１０】
ある実施形態では、上記更新した表現が、上記複数の発話の各々に含まれる単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、上記類似性スコアが損失関数を使用して計算される。ある実施形態では、文字-単語エンコーダ(CWE)ネットワークによる上記表現を更新する上記ステップが、発話の誤分類を断つことを含む。ある実施形態では、上記複数の連続する発話を受信すると、上記命令は、上記複数の連続する発話に対して実行されるべき1つまたは複数の行為をさらに決定させることができる。ある実施形態では、上記命令は、上記更新した表現と、上記1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される上記発話の着信シーケンスとのうちの少なくとも1つに基づいて上記DHMNに基づくモデルをさらに動的に最適化させることができる。
【００１１】
本開示に組み込まれそして本開示の一部を構成する添付の図面は、例示的な実施形態を図示し、説明とともに、開示した原理を説明するように働く。
【図面の簡単な説明】
【００１２】
【図１】本開示のいくつかの実施形態による、階層的積層型ニューラルネットワークを使用して会話システムにおいて概念的照応指示を解析するためのシステムの図である。
【図２】本開示のいくつかの実施形態による、階層的積層型ニューラルネットワークを使用して会話システムにおいて概念的照応指示を解析するための流れ図である。
【図３】本開示のいくつかの実施形態による、階層的積層型ニューラルネットワークを使用して概念的照応指示会話システムを解析するためのディープ階層的マックスプールネットワークに基づくモデルのアーキテクチャの図である。
【図４】本開示のいくつかの実施形態による、文字-単語エンコーダ(CWE)ネットワークのアーキテクチャの図である。
【図５】本開示のいくつかの実施形態による、データ作成プロセスの詳細図である。
【図６】本開示のいくつかの実施形態による、シーケンス長の分布を図示するグラフである。
【発明を実施するための形態】
【００１３】
例示的な実施形態が、添付の図面を参照して説明される。図では、参照番号の左端の桁は、その参照番号が最初に現れる図を特定する。便利な場合にはどの場所でも、同じ参照番号が、同じ部品または類似の部品を参照するために図面全体を通して使用される。開示した原理の例および特徴が本明細書において説明されるが、修正形態、適応形態、および他の実装形態が、開示した実施形態の趣旨および範囲から逸脱せずに可能である。下記の詳細な説明が単に例示として考えられ、真の範囲および趣旨は(明細書に含まれているときには)特許請求の範囲により示されることを伴うものとする。
【００１４】
本明細書における実施形態は、階層的積層型ニューラルネットワーク、あるいは階層的ニューラルネットワークとも明細書の全体を通して呼ばれる、を使用して会話システムにおいて概念的照応指示を解析するためのシステムおよび方法を提供する。会話システムでは、発話の指示が事実またはイベントに対して行われると、これは概念的照応解析と呼ばれる。会話システムにおける概念的照応指示の問題は、組織内の多数のユーザに対して配置された会話アシスタントの知識および使用パターンに基づく。本開示の実施形態により実装されるようなシステムは、多層の層ネットワークを含む階層的ニューラルネットワーク(HNN)に基づくモデルを使用し、各ネットワークが双方向性の長い短周期メモリ(BiLSTM)層、および1)ユーザから受信する各発話の表現を取得し、2)発話のシーケンスに関する表現を取得するために階層的に積層されたマックスプール層を含むことをともなう。ある実施形態では、多層ネットワークは、2つのネットワークを含むディープ階層的マックスプールネットワーク(DHMN)に基づくモデルおよびスペルチェッカとしてDHMNをサポートしている文字-単語エンコーダ(CWE)ネットワークを含む。階層的ニューラルネットワークモデルであるDHMNに基づくモデルは、単語レベルならびに文章レベルパターンを捉え、そして会話のユーザのセッションの表現における発話のシーケンス内の文脈上の依存性もまた捉える。そのために、発話の対を超える会話システムにおける後続指示を含む概念的照応指示を解析することが可能になる。これらの表現は、発話に関する対応する応答を受信するためにさらに使用される。DHMNに基づくモデルの成果は、DHMNに基づくモデルの第3のネットワーク(DHMNに基づくモデルの階層内の最上部ネットワーク)において、より優れた傾度流を可能にするために、スキップ接続を使用することによってさらに改善される。DHMNに基づくモデルは、先行する事実および後続の事実を解析するだけでなく、自己充足型のクエリにおいてさえもより上手く実行する。DHMNに基づくモデルは、訓練することにも早く、頻繁な訓練およびチューニングが必要とされる環境における使用のために提案した方法を有望な手法にする。DHMNに基づくモデルは、公的に利用可能なデータセットについてのベンチマークをわずかに上回り、そしていくつかの事前に作成したデータセットについてのベースライン手法よりも上手く実行する。
【００１５】
図面、より具体的には、類似の参照符号が複数の図の全体を通して一貫して対応する構成を表している図1から図6をここで参照して、好ましい実施形態が示され、これらの実施形態が下記の例示的なシステムおよび/または方法の文脈で説明される。
【００１６】
図1は、本主題の例示的な実施形態による、階層的積層型ニューラルネットワークを使用して会話システムにおける概念的照応指示を解析するためのシステム図を図示している。システム100は、プロセッサ106などの1つまたは複数のハードウェアプロセッサ、I/Oインターフェース104、メモリ102などの少なくとも1つのメモリ、およびメモリ102に含まれた照応指示解析モジュール108を含む、またはそうでなければこれらと通信する。ある実施形態では、照応指示解析モジュール108は、システム100内にスタンドアロンユニットとして実装されることがある。プロセッサ106、I/Oインターフェース104、およびメモリ102は、システムバスによりつなげられる。
【００１７】
I/Oインターフェース104は、様々なソフトウェアおよびハードウェアインターフェース、例えば、ウェブインターフェース、グラフィカルユーザインターフェース、等、を含むことができる。インターフェース104は、様々なソフトウェアおよびハードウェアインターフェース、例えば、キーボード、マウス、外部メモリ、カメラデバイス、およびプリンタなどの周辺デバイス用のインターフェースを含むことができる。インターフェース104は、有線ネットワーク、例えば、ローカルエリアネットワーク(LAN)、ケーブル、等、およびワイアレスLAN(WLAN)、セルラ、または衛星などのワイアレスネットワークを含め、多種多様なネットワークおよびプロトコルタイプ内の多地点通信を容易にすることができる。その目的で、インターフェース104は、多数のコンピューティングシステムを相互にまたはもう1つのサーバコンピュータに接続するための1つまたは複数のポートを含むことができる。I/Oインターフェース104は、多数のデバイスを相互にまたはもう1つのサーバに接続するために1つまたは複数のポートを含むことができる。
【００１８】
ハードウェアプロセッサ106は、1つまたは複数のマイクロプロセッサ、マイクロコンピュータ、マイクロコントローラ、デジタル信号プロセッサ、中央処理装置、ステートマシン、論理回路、および/または操作命令に基づいて信号を巧みに処理するいずれかのデバイスとして実装されることがある。他の能力の中で、ハードウェアプロセッサ106は、メモリ102に記憶されたコンピュータ可読命令をフェッチし、実行するように構成される。
【００１９】
メモリ102は、例えば、スタティックランダムアクセスメモリ(SRAM)およびダイナミックランダムアクセスメモリ(DRAM)などの揮発性メモリ、ならびに/または読出し専用メモリ(ROM)、消去可能プログラマブルROM、フラッシュメモリ、ハードディスク、光ディスク、および磁気テープなどの不揮発性メモリを含め、この分野において知られているいずれかのコンピュータ可読媒体を含むことができる。ある実施形態では、メモリ102は、照応指示解析モジュール108および照応指示解析モジュール108によって処理され、受信され、そして生成されたデータを記憶するためのリポジトリ110を含む。照応指示解析モジュール108は、特定のタスクを実行するまたは特定の概念的なデータタイプを実施するルーチン、プログラム、オブジェクト、構成要素、データ構造、等を含むことができる。
【００２０】
リポジトリ110は、他のものの中で、システムデータベースおよび他のデータを含む。他のデータは、照応指示解析モジュール108の実行の結果として生成されたデータを含むことができる。
【００２１】
ある実施形態では、照応指示解析モジュール108は、手作業による介入を減少させるように構成されることがある。階層的積層型ニューラルネットワークを使用する会話システムにおいて概念的照応指示を解析するための上記のシステムの詳細な説明が、図1から図6に関連して提示した説明図に関して示される。
【００２２】
図1に関連して図2は、本開示のいくつかの実施形態にしたがって、図1の照応指示解析モジュール108を使用し、階層的積層型ニューラルネットワークを使用する会話システムにおいて概念的照応指示を解析するためにプロセッサに実装された方法の例示的な流れ図である。図2を参照して、ステップ202において、1つまたは複数のハードウェアプロセッサ106が、マルチターン検索チャットボットにおいて、過去の発話に含まれた特定のエンティティまたは事実に対する照応指示を示している発話の少なくとも部分集合からなる複数の連続的な発話を受信するように構成される。ある実施形態では、発話は、ユーザによる事実の断定、クエリ、事実とクエリとの組み合わせ、等であってもよいが、これらに限定されない。例えば、「私は新加入者である」という発話は、事実であるが、「私は休暇を取れますか?」という発話は、クエリである。さらに、受信した複数の連続する発話からの発話の少なくとも部分集合は、過去の発話のうちのいずれかに述べられた特定のエンティティまたは事実に照応指示を行う発話である。過去の発話に述べられた特定のエンティティまたは事実への発話の照応指示が、表1および表2に述べた例の助けを借りてさらに説明される。
【００２３】
【表１】
2020024385.tif 000003
【００２４】
【表２】
2020024385.tif 000004
【００２５】
例えば、表1に表現されたような第1のタイプのシナリオ(x1により表されたセッションとも呼ばれる)では、システム100は、
【００２６】
【数１】
2020024385.tif 000005
および
【数２】
2020024385.tif 000006
により表示された2つの連続する発話を受信すると仮定する。ここで第1の発話が「何がフレックス休暇ですか?」であり、第2の発話が「その取得基準は何ですか?」である。エンティティが第1の発話で述べられることが表1から分かることがあり、例えば、「フレックス休暇」は、表1の
【数３】
2020024385.tif 000007
中のエンティティとして述べられ、このことは、第2の発話内の代名詞、例えば、
【数４】
2020024385.tif 000008
中の「それ」を介して参照される。このように、第2の発話が過去の発話に含まれた「フレックス休暇」というエンティティ(このケースでは
【数５】
2020024385.tif 000009
)に対する照応指示を示していることは明白である。さらに、表2に表現されたような第2のタイプのシナリオでは、システム100がクエリに回答する前に多数の異なる過去の発話を検討するように予測されると仮定する。ここで、ユーザは、3つの事実が
【数６】
2020024385.tif 000010
として次から次へと先ず現れ、これが複雑な状況に導き、次いで(ユーザは)先行する発話なしには意味を持たない「私はどうしたら良いのでしょうか?」という質問を尋ねる。このように、「私はどうしたら良いのでしょうか?」というクエリを表現している発話
【数７】
2020024385.tif 000011
は、過去の発話で述べられた事実に対する照応指示を示している。ここで、同じクエリへの回答は、第1の事実
【数８】
2020024385.tif 000012
、「私は新加入者である」が会話のセッションに存在しない場合には異なるはずであることに留意することが、非常に重要である。ある実施形態では、すべての受信した発話およびそれらの対応する事前に作成した応答が、絶えず更新されるシステムデータベースに記憶される。ある実施形態では、複数の連続した発話を受信すると、1つまたは複数の行為が複数の連続した発話に対して実行されるように決定される。ある実施形態では、1つまたは複数の行為は、ユーザから受信した発話のシステム100理解容易度に関する受領通知を単に与えること、または回答の形態で発話への特定の反応を与えることを含む。例えば、受信した発話が「私は新加入者である」などの事実を表す場合には、システム100は、「OK」を用いて受領通知を与える。ここで、受領通知は、システム100が発話の意味を理解した(またはしたかもしれない)ことを表現している。さらに、受信した発話が「休暇を利用できますか」などのクエリを表す場合には、システム100は、システムのデータベース(またはメモリ102)に記憶された1つまたは複数の事前に作成した応答から回答を選択することによって、回答がクエリに与えられる必要があることを理解する。ここで、クエリが事実に基づいているので、回答は事実である過去の発話に基づいて決定される。
【００２７】
さらに、図2のステップ204に表現されたように、1つまたは複数のハードウェアプロセッサ106は、複数の連続する発話のうちの1つまたは複数のシーケンスを生成するように構成される。さらに、1つまたは複数の事前に生成した対応する応答が、データベース(データリポジトリ110とも呼ばれ、本明細書において互換的に使用される)から1つまたは複数の生成したシーケンスの各々に対して取得される。ある実施形態では、1つまたは複数のシーケンスが、会話の現在のセッションの開始から多数の最近の連続する発話をグループ分けすることにより生成される。ある実施形態では、グループ内の最近の連続する発話の最大数は、5と言われる。このように、システム100は、このようなシナリオでは、例えば、最大5つまでの発話のシーケンス長を取り扱うことができる。例えば、ユーザが入力として
【数９】
2020024385.tif 000013
を初めに渡すと、時刻t1において
【数１０】
2020024385.tif 000014
により表示される生成されたシーケンスは、
【数１１】
2020024385.tif 000015
のはずである。次に、ユーザが入力として
【数１２】
2020024385.tif 000016
を渡す場合には、時刻t2において
【数１３】
2020024385.tif 000017
により表示される生成されたシーケンスは、
【数１４】
2020024385.tif 000018
のはずであり、同様に時刻t3において
【数１５】
2020024385.tif 000019
のはずである。さらに、tminにより表示される2つの連続する発話同士の間に時間のギャップがある場合には、第2の発話は、会話のセッションの開始と仮定される。
【００２８】
さらに、図2のステップ206に表現されたように、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルは、1つまたは複数の発生したシーケンスおよび複数の連続する発話を使用して1つまたは複数のハードウェアプロセッサ106により訓練される。訓練データDtrnは、入力として1つまたは複数の発生したシーケンス(xi)およびそれらの対応する応答yjからなり、その結果di={xi,yj}である訓練タプル(tuple)diから構成される。訓練データは、同じ応答をともなう意味的に類似した連続する発話のシーケンスを包含し、このことは異なるxiが同じ応答yjにマッピングされてもよいことを意味する。訓練タプルのうちのいくつかは、そのxiに1つだけの発話、そして相応してyjを包含することがある。訓練データは、すべての応答について少なくともnmim個のこのような訓練タプルを包含することができる。他のタイプの訓練タプルは、1つよりも多くの発話を包含し、すべてのこのような可能性のある生成されるシーケンスの数は、非常に多いことがあり、そのため訓練データDtrnは、このようなシーケンスの代表的なセットだけを包含できる。この問題は、マルチクラス分類問題としてモデル化され、そこでは、任意の生成したシーケンスxiに対して、ある応答が検索される。
【００２９】
図3を参照して、図3は、ディープ階層的マックスプールネットワーク(DHMN)に基づくモデルのアーキテクチャを図示している。ディープニューラルネットワーク(本明細書では、DHMN)は、3つのネットワークからなり、これらは1つまたは複数の生成したシーケンスの表現/埋め込みe(x)を生成するために階層的に接続される。第1のネットワークは、図4に詳細に表現された文字-単語エンコーダネットワーク(CWE)であり、各発話に含まれた単語(w)の表現を学習するために使用される。文字-単語エンコーダは、入力としてw={c1……..cn}により表現される単語に含まれた文字のシーケンスを取得する。文字-単語エンコーダネットワークは、スペルチェッカとして作用する。CWEネットワークから取得された単語表現は、次いで第2のネットワークへ渡され、第2のネットワークは、ユーザから受信した複数の連続する発話から各発話を表すために学習し、ここでは各発話がuiにより表示される。第2のネットワークは、単語-発話(Word to Utterance)エンコーダネットワークと呼ばれる。ここで、発話は、単語のシーケンス、ui={w1……..wn}である。第2のネットワークは、埋め込み層、BiLSTM層、タイムディストリビューテッドデンス(Time Distributed Dense)(TDD)層、およびマックスプール層を含む。ある実施形態では、各発話uiは、変化する長さの単語のシーケンス、ui={w1……..wn}であり、各発話の最大長はnmaxである。各発話は、それ自体の単語のワンホットエンコーディングの、ゼロパディングを用いた長さnmaxのシーケンスとして表現される。第2のネットワークの埋め込み層は、入力として各発話に含まれる単語のワンホットエンコーディングのシーケンスを受信する。埋め込み層は、図3に表現されたように単語埋め込み層(Word Embedding Layer)(WEL)とも呼ばれる。埋め込み層の出力は、各発話に含まれる単語の埋め込みのシーケンス(あるいは、単語埋め込みとも呼ばれる)であり、これは式(1)で表現される:
【数１６】
2020024385.tif 000020
単語-ベクトルモデル(word- to-vector model)を使用する単語埋め込みは、すべての発話、回答、および関連するポリシ文書について一緒に学習される。これらの単語埋め込みは、埋め込み層の初期加重(WEL)になり、埋め込み層は単語-発話エンコーダネットワークの第1の層である。埋め込み層の加重は、モデルの残りの訓練中にバックプロパゲーションを介してやはり更新されるようになる。
【００３０】
第2のネットワーク中の次の層は、BiLSTM層であり、これは図3に示したように双方向LSTMユニットを含む。背景として、LSTMまたは長い短周期メモリネットワークは、ニューラルネットワークの変形である。LSTMは、ニューラルネットワークが長周期パターンをともなうシーケンスを学習するときに生じる勾配消失の問題を緩和するように設計される。埋め込み層によって戻された各発話は、
【数１７】
2020024385.tif 000021
と表現される各タイムスタンプにおけるベクトルのシーケンスとして表現され、これはBiLSTM層への入力である。ベクトルのこのシーケンスは、各発話に含まれたすべての単語の左手側および右手側の両方の他の単語の文脈を維持する順方向順および逆方向順の両方で入力として与えられる。LSTMユニットの出力は、これまでの隠れ状態ht-1および下記に規定されるような現在の時間ステップvtにおける入力の関数としてRd中のゲートのセットにより制御される:
入力ゲート、it=σ(θvi)vt+θhiht-1+bi
フォゲットゲート、ft=σ(θvf)vt+θhfht-1+bf
出力ゲート、ot=σ(θvo)vt+θhoht-1+bo
候補隠れ状態、gt=tanh(θvo)vt+θhoht-1+bo     (2)
内部メモリ、
【数１８】
2020024385.tif 000022
隠れ状態、
【数１９】
2020024385.tif 000023
【００３１】
ここで、σは、記号論理学のシグモイド関数であり、tanhは、ハイパボリックタンジェント関数を表示し、そして
【数２０】
2020024385.tif 000024
は、要素毎の掛け算を表示し、ftは、古いメモリセルから忘れられようとしている情報の量を決定するために使用される関数を表示し、itは、現在のメモリセルに記憶されようとしている新しい情報の量を制御するための関数を表示し、そしてotは、メモリセルに基づく出力を制御する関数を表示し、ここでは、メモリセルがctとして表現される。BiLSTM層の出力は、各時間ステップに1つのT個の隠れ状態であり、これは次いで、第2のネットワークのタイムディストリビューテッドデンス(TDD)層を介して渡される。このことは、各時間ステップにおいて別々にBiLSTMの出力上で完全に接続されたデンス層に適用することと同じであり、各時間ステップにおける出力を得る。TDD層の加重は、すべての時間ステップにわたり同じである。TDD層の出力は、次いで第2のネットワークのマックスプール層を介して渡される。第2のネットワークのマックスプール層は、ネットワークのアテンション層の形態として作用し、ユーザクエリの形態である発話の最も重要な意味上の特徴を拾い上げる。この層は、最終ベクトルを形成するための寸法に関する最大値を取る。最終ベクトルは、各発話(ui)の埋め込みである。
【００３２】
最後に、発話-セッション(Utterance to Session)エンコーダネットワークと呼ばれる第3のネットワークは、各発話の表現を捕らえ、1つまたは複数の発話の生成したシーケンスを表現するために学習する。ここで1つまたは複数の発話の生成したシーケンスは、(x)により表示される。第3のネットワークは、BiLSTM層、タイムディストリビューテッドデンス(TDD)層およびマックスプール層を含む。第3のネットワークは、各発話の埋め込みである第2のネットワークの出力を入力として受信する。各時間ステップにおいて、このような埋め込みが、T個の隠れ状態を生成する第3のネットワークのBiLSTM層へと供給される。隠れ状態は、第3のネットワークのTDD層へそしてさらにマックスプール層へ渡されて、隠れ状態のマックスプールした表現を取得する。これに加えて、スキップ接続が、勾配のより良い流れのためにBiLSTM層からソフトマックス層へと使用される。このように、スキップ接続を使用することにより、最後の隠れ状態が、BiLSTM層hから渡され、マックスプール層の出力と鎖状につなげられて最終的なセッション埋め込み(s)を得る。この埋め込みは、最後の発話およびセッションの最も重要な発話の両方から適切な信号を捕捉する。
【００３３】
ある実施形態では、訓練されたディープ階層的マックスプールネットワーク(DHMN)に基づくモデルが、(i)1つまたは複数の生成したシーケンスおよび(ii)複数の連続する発話の各々に関する表現を取得するために使用される。(i)1つまたは複数の生成したシーケンスおよび(ii)複数の連続する発話の各々について取得した表現は、各表現を使用して1つまたは複数の生成したシーケンス内の文脈上の依存性を識別するためにさらに利用される。ある実施形態では、識別した文脈上の依存性に基づいて、連続する発話の1つまたは複数の発話に対応する1つまたは複数の関連する過去の発話が取得される。1つまたは複数の関連する過去の発話は、過去の発話に含まれる特定のエンティティまたは事実のために、ある発話の照応指示に基づいてシステムデータベースをクエリすることにより取得される。このようなケースでは、照応指示が、識別した文脈上の依存性に基づいて決定される。このように、不適切な発話は、特定の発話についての回答を選択しながらシステムにより無視される。ある実施形態では、DHMNに基づくモデルから取得した表現を使用して1つまたは複数の生成したシーケンス内の文脈上の依存性の識別が、非限定的な例によりさらに説明される。表3を参照して、システム100が、表3のセッションx3に示したように、先行するクエリに対して後続の事実を解析しようと試みることが分かる。ここで、ユーザは、「私は赤ちゃんを最近養子にしました」という事実
【数２１】
2020024385.tif 000025
を言明した後で、「私は養子休暇を申請できますか」というクエリ
【数２２】
2020024385.tif 000026
を尋ねるが、「現在、私は扶養者ケアのために無給休暇中です」という別の事実を用いて次の発話
【数２３】
2020024385.tif 000027
における状況を修正する。このことは、
【数２４】
2020024385.tif 000028
の終わりのところで与えられた回答を修正するようにシステムを導く。提案したシステムは、
【数２５】
2020024385.tif 000029
として表3に与えられた発話のシーケンスを生成し、DHMNに基づくモデルから取得した、(i)1つまたは複数の生成したシーケンス、(ii)複数の連続する発話の各々についての表現を使用することにより生成したシーケンス内の文脈上の依存性を識別する。1つまたは複数の生成したシーケンス内の識別した文脈上の依存性は、他の発話に対してある発話の照応指示を決定する際に役立つ。概念的照応指示解析は、先行詞とその照応形との間の関係を確立することを必要とする。このように、識別した文脈上の依存性に基づいて、会話システムにおける照応指示の問題が解析される。
【００３４】
【表３】
2020024385.tif 000030
【００３５】
図2に戻って参照して、ステップ208において、1つまたは複数のハードウェアプロセッサ106は、発話の着信シーケンスに含まれる1つまたは複数の発話内の不一致の存在または存在しないことに基づいて複数の連続する発話の表現を更新するように構成される。複数の連続する発話の表現を更新するステップは、DHMNに基づくモデルに含まれる文字-単語エンコーダ(CWE)ネットワークにより実行される。ある実施形態では、発話の着信シーケンスは、DHMNに基づくモデルが訓練された後で受信されるテスト入力を参照する。解析に基づいて、発話内のいくつかの単語が存在しないまたは誤って綴られているいくつかのインスタンスが観察される。誤って綴られた単語が、不一致として識別される。発話の着信シーケンスに含まれたいずれの発話にも不一致がないときには、発話の着信シーケンスがDHMNに基づくモデルの第2および第3のネットワークへ単純に供給されて、その表現を取得する。しかしながら、不一致が発話の着信シーケンスに含まれたいずれかの発話に識別されるときには、補正処理が文字-単語エンコーダ(CWE)ネットワークにより実行されて、不一致を取り除く。例えば、頻繁に誤って綴られる単語のいくつかは、「カジュアル(casual)」に対する{「カサル(casal)」、「コーザル(causal)」、「カザウル(casaul)」、「カジュアール(casuaal)」}、および「マンスス(months)」に対する{「マンシュ(montshs)」、「ムンスス(mnths)」、「マンスース(monthhs)」}である。誤って綴られた単語を含む発話がDHMNに基づくモデルの第2および第3のネットワークに供給されると、発話の着信シーケンスの間違った(または正しくない)表現が得られる。発話の着信シーケンスに含まれるこのような誤って綴られた単語に対する正しい表現を得るために、図4に示したように文字-単語エンコーダネットワークが訓練される。図4は、本開示のいくつかの実施形態による、図1のシステム100のDHMNに基づくモデルに含まれた文字-単語エンコーダ(CWE)ネットワークのアーキテクチャを図示している。CWEネットワークは、BiLSTMの2つの層に続くタイムディストリビューテッドデンス(TDD)層およびマックスプール層を含む。CWEネットワークは、単語中に見いだされる英語アルファベットのワンホットエンコーディングのシーケンスを受信する。CWEネットワークを使用して、正しく綴られた単語の第1の単語埋め込みが、word2vecモデルを使用することにより学習されたように、予測される。word2vecモデルは、スキップグラムアルゴリズムを使用して学習される。ある実施形態では、更新される表現は、複数の発話の各々に含まれた単語の予測された単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づき、ここでは類似性スコアが損失関数を使用して計算される。言い換えると、CWEは、式(3)に与えられたような損失関数を学習することにより訓練され、損失関数は、複数の連続する発話の各々に含まれた単語の予測された単語埋め込みと実際の単語埋め込み(woovにより表示される語彙外れの単語埋め込みとも呼ばれる)との間のコサイン類似性を計算する。
【数２６】
2020024385.tif 000031
ここで、wpは予測された単語を表示し、woovは複数の連続する発話の各々に含まれた実際の単語(語彙外れ単語とも呼ばれる)を表示する。
【００３６】
CWEネットワークは、推論時間において語彙外れ単語(woov)に対してだけ使用され、語彙外れ単語(woov)の置き換えとして語彙から正しい単語wpを最初に予測する。単語が誤って綴られた単語である場合、予測される単語wpは、正しいスペリングでおそらく正しく置き換えられるべきである。しかしながら、知られていない単語である場合、予測される単語は、関係しないだろう。このような過ちを避けるために、予測された単語wpを得た後で、予測された単語と語彙外れ単語との間の類似性がシーケンスマッチャを使用して判断される。シーケンスマッチャは、式(4)に示されるような文字のシーケンスとして各単語を検討して、予測された単語wpと語彙外れ単語(woov)との間のマッチスコアを計算する。
sim(woov)=2*(M/T)     (4)
ここで、Mは一致の数であり、Tは語彙外れ単語woovおよび予測された単語wp中の文字の全数である。さらに、計算したスコアが、所定のしきい値よりも大きい場合には、予測された単語が、語彙外れ単語(woov)を置き換えるための単語として選択され、そうでなければ除外される。ある実施形態では、所定のしきい値の値は、0.9であるように選択される。例えば、単語が誤って綴られた単語(例えば、コーザル(causal))である場合には、その正しい置き換えがシーケンスマッチャを使用して予測される(例えば、カジュアル(casual))。しかしながら、単語が未知の単語(例えば、虎(tiger))である場合には、予測される単語(すなわちカジュアル(casual))はこれに関係しないだろう。そのため、予測された単語が除外される。このように、更新される表現は、複数の連続する発話の各々に含まれた単語の予測される単語埋め込みと実際の単語埋め込みとの間の類似性スコアに基づく。
【００３７】
さらに、図2のステップ210において、1つまたは複数のハードウェアプロセッサは、発話の着信シーケンスを1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類するように構成される。例えば、DHMNに基づくモデルが「休暇」に関係する発話に対して訓練される場合には、1つまたは複数の回答が休暇に関係する発話のタイプに基づいて事前に作成される。さらに、テスト入力を表示する発話の着信シーケンスが、(i)更新した表現および(ii)1つまたは複数の生成したシーケンスの表現のうちの少なくとも1つに基づいて、訓練されたDHMNに基づくモデルおよび識別された文脈上の依存性を使用して、1つまたは複数の事前に作成した回答のうちの1つへと分類される。例えば、表3に表現されたように、「私は養子休暇を申請できますか?」というクエリへの応答は、「すべての正社員は休暇を申請できます」であり、「現在、私は扶養者ケアのために無給休暇中です」という後続の事実に対する応答は、「無給休暇中には、休暇を申請できません」である。応答が後続の事実
【数２７】
2020024385.tif 000032
に対して修正されることが理解されることがあり、この後続の事実が、後続の事実と過去の発話(このケースでは
【数２８】
2020024385.tif 000033
と
【数２９】
2020024385.tif 000034
との間の文脈上の依存性に基づいて決定される。
【００３８】
ある実施形態では、文字-単語エンコーダ(CWE)ネットワークへの文字によって表現を更新するステップは、発話の誤分類を断つことを含む。例えば、誤って綴られた単語がDHMNに基づくモデルへ供給される場合には、発話の着信シーケンスの誤った(正しくない)表現が得られる。誤った(正しくない)表現は、誤った(正しくない)クラスへの発話の着信シーケンスの分類という結果をもたらす。しかしながら、CWEネットワークは、誤って綴られた単語の正しい置き換えを行い、このように、発話の着信シーケンスの正しい表現がDHMNに基づくモデルにより得られる。このように、発話の着信シーケンスの誤分類は、文字-単語エンコーダ(CWE)ネットワークにより発話の着信シーケンスの表現を更新することによって断たれる。更新した表現は、DHMNに基づくモデルにより動的に学習され、さらなる訓練のために利用される。このように、DHMNに基づくモデルの成果は、更新した表現と、1つまたは複数の事前に作成した対応する回答のうちの少なくとも1つへと分類される発話の着信シーケンスとのうちの少なくとも1つに基づいて動的に最適化される。
【００３９】
本開示により説明されたような方法およびシステムは、2つのユーザ発話だけに制限される既存のシステムと比較して、多くの異なる発話の全体にわたる概念的照応指示を解析する。また、提案した方法は、後続の指示を解析しようとする。システムにより使用される訓練データは、同じ回答に導くユーザ発話の多くの意味的に類似したシーケンスを包含し、システムは、これらの所定の回答から選択する必要がある。質問と回答との間の類似性に基づいて回答をランク付けするこれまでの手法とは反対に、提案したシステムは、1つのクラスに属する発話のいくつかのシーケンスがあるこのような形態にデータを管理する。これゆえ、提案したシステムは、タスクの種類の分類のためにより適している。
実験設定
【００４０】
システムによる実験は、知られているデータベースについて行われた。また、知られているデータセットが、実際の製造環境におけるシードモデルとして検討された。データセットは、実際のユーザの振る舞いを表現し、この振る舞いは過去の発話において述べられたエンティティならびに個人の状況に適切に関連する事実への代名詞指示を包含するように観察される。データセットはまた、完全に自己充足型のクエリも含んだ。初めに、休暇ドメインに関する7164個の異なるタイプの発話を含んだ第1のデータセットが検討された。これらの発話のうちのいくつかは、完全に自己充足型であり、先行詞とクエリとして2つの部分に分けられなかった。例えば、「どのくらいの数の休暇タイプがありますか?」。さらに、第2のデータセット(B)が、以降事実なしクエリと呼ばれる完全に自己充足型のクエリを含んで作成された。さらにその上、第3のデータセットが、クエリとともに先行詞節を包含する発話を用いて作成される。例えば、「私は仕事関係者であり、臨時休暇を利用できますか?」は、読点により分けられた2つの節を有する。このような発話における先行詞節の数は、時には1つよりも多くてもよい。同様に、時にはクエリが事実の前に来る。クエリの前または後に事実発話を包含するすべてのこのような発話は、事実クエリをともなうと以降では呼ばれ、データセット(C)に含まれる。また、通常、このような節の数は、同じクエリ中では最大5個であることが観察される。
【００４１】
ある実施形態では、提案したシステムは、ユーザから受信される発話の1つまたは複数のシーケンスの生成を含む。1つまたは複数のシーケンスの生成に関して、最初にすべての「事実クエリあり(with fact query)」が(例えば、人の介入の助けを借りて)多数の異なる発話へと分割し、発話のシーケンスを形成し、事実分割ありと呼ばれる。第4のデータセット(D)が、すべての事実分割ありを含めて作成された。このような生成されたシーケンスの長さの分布が、図6に与えられている。グラフは、発話のシーケンスの長さの値に基づいてデータセット1およびデータセット2内のサンプルの全数を示している。サンプルの最大数が長さ1を有する生成されたシーケンスに含まれ、サンプルの最小数が長さ5を有する生成されたシーケンスに含まれることが図6に見られる。さらに、このような分割から、事実だけを包含しクエリのない発話のもう1つのセットが作成された。発話のこのセットは、事実セットと以降呼ばれ、第5の作成されたデータセット(E)に含まれる。さらに、生成されたシーケンスxi、およびそれらの応答yiからなる最終データセットが、図5に示したように、すべてのBおよびEデータセットを考慮して作成された。BおよびDデータセット中のすべてのクエリに対する応答は、オリジナルのデータセットからくるものであり、Eデータセットのすべての生成されたシーケンスに関して、一定の応答が仮定される。BおよびEデータセットのクエリは、訓練およびテスト分割に関して80〜20の割合でランダムに2つの部分に分割され、次いで訓練およびテスト分割の各々についての最終データセットが、別々に準備された。さらに、長さ5の発話のシーケンスが、B'、C'、D'およびE'データセットを得るために、データセットBおよびEのすべてのクエリに対して(Bデータセットから取られた)事実なしクエリを前に付けることにより生成された。このように得られたデータ(B、B'、'、D'およびE'の連合)は、次いで、生成したシーケンスのいずれかに対する応答が人間の右に現れることを確実にするために見直された。このプロセスは、表4に示したようなデータを与える。
【００４２】
【表４】
2020024385.tif 000035
【００４３】
ある実施形態では、小文字変換、特殊文字の削除、省略形の置き換えなどのいくつかの前処理ステップが、単語表現を学習するためにデータが渡される前に実行された。すべてのポリシ文書、チャットボット回答、ならびにすべてのクエリセットの質問が、すべての単語のドメインに特有なベクトル表現を学習するために使用される。提案したシステムは、英語ウィキペディア(登録商標)データ上で学習した汎用GLOVE単語埋め込みもやはり利用し、しかしながら、「休暇」などの単語のオルソゴナルな(orthogonal)意味のために生じることがあるドメインに特有な単語埋め込みが、より優れた精度を与えることが観察される。
【００４４】
提案したアルゴリズムDHMNが、4つのベースラインアルゴリズムをともなう3つの知られたデータセット(例えば、データセット1、データセット2およびデータセット3)について比較される。訓練用に60%、検証およびテストデータ用に各20%の知られているデータセットの3つの分割部が検討される。知られているデータセットは、一定の訓練、検証およびテスト分割で与えられてきている。さらに、ハイパーパラメータチューニングが、50ユニットのステップサイズ、範囲{16、32、64、128}のバッチサイズ、および範囲{0.1、0.01、0.001、0.0001}の学習率を有する隠れた多数のノード{100、150、…、350}について階層的マックスプールネットワークに対して実行される。さらにその上、検証セットについて選択されるようにパラメータのベストセットが得られる。ベストな結果が、300として多数の隠れたノードに対して得られる。バッチサイズは、データセット1について32であり、データセット2に対して64である。すべての知られたデータセットについてのベストな結果が、0.001のデフォルト学習率を有するアダムスオプティマイザを使用することにより得られた。ある実施形態では、LSTMが多数の訓練データを必要とし、莫大な数のパラメータを有することが観察され、その結果、LSTMは訓練データを容易に過剰適合させる傾向がある。訓練データの過剰適合を防止するために、早期停止、L1/L2正規化およびドロップアウトを含めいくつかの技術が使用された。0.5のドロップアウトが使用され、これはこのケースでは上手く働いた。
実験結果:
【００４５】
表5は、3つの知られたデータセット(例えば、データセット1、データセット2およびデータセット3)について、ベースラインモデルと提案したモデルとの間の平均精度の比較を与える。*をマークした数字は、5回を超えて平均され、マークをしない数字は、10回を超えて平均されている。
【００４６】
【表５】
2020024385.tif 000036
【００４７】
表5から、本開示のモデルは、6%の良いマージンだけ伝統的な高度インテントモデル(AIM)を上回っていることが観察され得る。伝統的な高度インテントモデル(AIM)の展開したアーキテクチャは、階層的構造を使用せず、このように階層的構造を探究するアーキテクチャに対する欠点を有する。伝統的な階層的文字ネットワーク(HCN)は、階層的構造を使用し、このようにベンチマークとして提案されるが、文字レベルの表現を使用する。しかしながら、伝統的な階層的文字ネットワーク(HCN)は、データセット1については上手く働かない、その理由は、このようなモデルがword2vecに自動的に由来する意味的に類似の単語を認識する能力が欠如しているためである。提案したモデルは、ほぼ3%から4%のマージンだけモデル3よりも優れた性能を与える。同様に、伝統的な階層的マックスプールネットワーク-GRU(HMN-GRU)は、階層的構造をやはり使用し、このように伝統的なHMN-GRUもまたベースラインモデルとして使用される。提案したモデルが、すべての3つのデータセットについて伝統的なHMN-GRUよりも良く働くことが観察される。提案したモデルは、約2%のマージンだけ伝統的なHMN-GRUよりも優れた結果を達成する。実験は、階層的構造をやはり使用する伝統的な階層的マックスプールネットワーク-LSTM(HMN-LSTM)についてもやはり実行され、その結果が表5に報告されている。2つの後を追う(tailed)t-テストが、提案したモデル、伝統的な高度インテントモデル(AIM)、および伝統的な階層的アテンションネットワーク(HAN)の結果の統計的な意味を実証するために実行される。提案したモデルは、すべての3つのデータセットについて良いマージンで帰無仮説を除くことが可能である。これゆえ、提案した方法およびシステムは、大きなデータセットについて良い結果を達成し、上手く一般化する。
【００４８】
表6は、訓練可能なパラメータの数とともに既存のモデルおよび本開示のモデルに関する訓練時間を示している。このように、既存の方法の提案した方法とのモデル効率の比較が表6に与えられる。
【００４９】
【表６】
2020024385.tif 000037
【００５０】
提案したモデルが、より早く訓練され、そしていくつかのエポック内(10個未満)でのカバレッジもまた得ることが観察される。訓練可能なパラメータの数が提案したモデルでは大きくても、マックスプール層のお蔭で訓練するのに短い時間しかかからない。モデルの早い再訓練可能性は、モデルが新しいデータを取り込むために再訓練されなければならないので、製造環境では重要である。このように、提案した方法は、製造環境においてより上手く働く。
【００５１】
記載した説明は、当業者が実施形態を作成し使用することを可能にするために本明細書において主題を説明する。主題の実施形態の範囲は、特許請求の範囲によって規定され、当業者なら思いつく他の修正形態を含むことができる。このような他の修正形態が特許請求の範囲の文字通りの言い回しから逸脱しない類似の要素を有する場合、またはこのような他の修正形態が特許請求の範囲の文字通りの言い回しとは実質的ではない違いしか持たない等価な要素を含む場合には、このような他の修正形態は、特許請求の範囲の範囲内であるものとする。
【００５２】
保護の範囲は、メッセージを中に有するコンピュータ可読手段に加えて、このようなプログラムに拡張され、プログラムがサーバもしくはモバイルデバイスまたはいすれかの適したプログラマブルデバイス上で動作するときに、このようなコンピュータ可読記憶手段が、方法の1つまたは複数のステップの実施のためのプログラムコード手段を包含することを理解されたい。ハードウェアデバイスは、例えば、サーバもしくはパーソナルコンピュータ、等のようないずれかの種類のコンピュータ、またはこれらの任意の組み合わせを含め、プログラムされることが可能であるいずれかの種類のデバイスであってもよい。デバイスは、例えば、特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)のような、例えば、ハードウェア手段、またはハードウェアとソフトウェア手段との組み合わせ、例えば、ASICとFPGA、もしくは少なくとも1つのマイクロプロセッサとソフトウェアモジュールが置かれた少なくとも1つのメモリであってもよい手段をやはり含むことができる。このように、手段は、ハードウェア手段およびソフトウェア手段の両方を含むことができる。本明細書において説明した方法実施形態は、ハードウェアおよびソフトウェアに実装されてもよい。デバイスは、ソフトウェア手段もまた含むことができる。あるいは、実施形態は、異なるハードウェアデバイス上に、例えば、複数のCPUを使用して実装されてもよい。
【００５３】
本明細書における実施形態は、ハードウェア要素およびソフトウェア要素を備えることができる。ソフトウェアで実施される実施形態は、ファームウェア、常駐ソフトウェア、マイクロコード、等を含むが、これらに限定されない。本明細書において説明した様々なモジュールによって実行さる機能は、他のモジュールまたは他のモジュールの組み合わせで実施されてもよい。この説明の目的のために、コンピュータ使用可能またはコンピュータ可読媒体は、命令実行システム、装置、またはデバイスによる使用またはこれらと関連した使用のためのプログラムを含む、記憶する、通信する、伝達する、または伝送することができる任意の装置であってもよい。
【００５４】
図示したステップは、示した例示的な実施形態を説明するために提示されており、進行中の技術開発が、特定の機能が実行される方式を変えるであろうことが予想されるべきである。これらの例は、実証の目的で、そして限定ではなく本明細書に提示されている。さらに、機能的な基礎的要素の境界が、説明の利便性のために本明細書では恣意的に規定されてきている。特定の機能およびその関係が適切に実行される限り、代わりの境界が規定されてもよい。(本明細書において説明したものの等価物、拡張形態、変形形態、偏差、等を含め)代替形態は、本明細書に包含された教示に基づいて当業者には明白であろう。このような代替形態は、開示した実施形態の範囲および趣旨内になる。また、「備えている(comprising)」、「有している(having)」、「包含している(containing)」、および「含んでいる(including)」という単語、ならびに他の類似の形態は、意味的に等価であるものとし、これらの単語のいずれか1つに続く1つもしくは複数の項目が、このような1つもしくは複数の項目の網羅的な列挙であることを意味するのではなく、または列挙した1つもしくは複数の項目だけに限定されることを意味しないという点で非制限的であるものとする。本明細書においておよび(明細書に含まれるときには)添付の特許請求の範囲において使用されるように、「1つ(a)」、「1つ(an)」、および「その(the)」という単数形は、文脈が別なふうに明確に指示しない限り、複数の表現を含むことにやはり留意しなければばらない。
【００５５】
さらにその上、1つまたは複数のコンピュータ可読記憶媒体が、本開示に整合する実施形態を実施する際に利用されることがある。コンピュータ可読記憶媒体は、プロセッサにより可読な情報またはデータが記憶されることがある任意のタイプの物理メモリを指す。このように、コンピュータ可読記憶媒体は、本明細書において説明した実施形態と整合するステップまたはステージをプロセッサに実行させるための命令を含め、1つまたは複数のプロセッサによる実行のための命令を記憶することができる。「コンピュータ可読媒体」という用語は、実体的な項目を含み、搬送波および過渡信号、すなわち、非一時的であるものを除外するように理解されるべきである。例は、ランダムアクセスメモリ(RAM)、読出し専用メモリ(ROM)、揮発性メモリ、不揮発性メモリ、ハードドライブ、CD ROM、DVD、フラッシュドライブ、ディスク、およびいずれかの他の知られている物理的記憶媒体を含む。
【００５６】
本開示および例は、単に例示として考えられ、開示した実施形態の真の範囲および趣旨を有するものとする。
【符号の説明】
【００５７】
100  デバイス
102  メモリ
104  I/Oインターフェース
106  プロセッサ
108  照応指示解析モジュール
110  リポジトリ
【図１】
2020024385.tif 000038
【図２】
2020024385.tif 000039
【図３】
2020024385.tif 000040
【図４】
2020024385.tif 000041
【図５】
2020024385.tif 000042
【図６】
2020024385.tif 000043
【外国語明細書】
2020024385000001.pdf