(57)【要約】      （修正有）【課題】質問文と関連性がある基礎回答をユーザに返送することができ、ユーザの体験を向上させる音声対話方法及び装置を提供する。【解決手段】現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するステップと、ＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するステップと、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するステップと、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送するステップと、を含む。【選択図】図２
2020004382.tif 000002
【特許請求の範囲】
【請求項１】
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するステップと、
ＮＯである場合、前記第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するステップと、
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するステップと、
基礎コーパスで前記第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、前記第１の問答結果を返送するステップと、
を含む音声対話方法。
【請求項２】
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する前記ステップは、
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに対して加算処理を行い、前記第３の文ベクトルを取得すること、
を含む請求項１に記載の音声対話方法。
【請求項３】
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する前記ステップの前、前記音声対話方法は、
前記第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、前記第２の質問文に対して単語分割処理を行って複数の第２の単語を取得するステップと、
前記複数の第１の単語の単語ベクトルに基づいて前記第１の質問文の第１の文ベクトルを取得し、前記複数の第２の単語の単語ベクトルに基づいて前記第２の質問文の第２の文ベクトルを取得するステップと、
をさらに含む請求項１に記載の音声対話方法。
【請求項４】
前記基礎コーパスで前記第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得する前記ステップは、
第１の問答対及び前記第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの類似度を取得することと、
前記第３の文ベクトルとの類似度が最も高い第５の文ベクトルを前記第４の文ベクトルとすることと、
前記基礎コーパスで前記第４の文ベクトルに対応する第１の問答結果を取得することと、
を含む請求項１に記載の音声対話方法。
【請求項５】
前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの類似度を取得する前記ステップは、
前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの余弦類似度を取得すること、
を含む請求項４に記載の音声対話方法。
【請求項６】
前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの類似度を取得する前記ステップの前、
ネットワークからチャット閉鎖集を取得し、前記チャット閉鎖集に基づいて第１の問答対を取得するステップと、
前記第１の問答対に基づいて前記基礎コーパスを取得するステップと、
をさらに含む請求項４に記載の音声対話方法。
【請求項７】
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断する前記ステップの前、前記音声対話方法は、
問答コーパスに前記第１の質問文に対応する第２の問答対が存在するかどうかを判断し、得られた判断結果がＮＯであるステップ、
をさらに含む請求項１に記載の音声対話方法。
【請求項８】
前記第１の質問文が予め設定された時間帯内に受信された最初の質問文である場合、前記音声対話方法は、
前記第１の質問文の第１の文ベクトルに基づき、前記基礎コーパスで前記第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、前記第２の問答結果を返送するステップ、をさらに含む請求項１に記載の音声対話方法。
【請求項９】
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するための判断モジュールと、
判断モジュールの判断結果がＮＯである場合、前記第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するための文取得モジュールと、
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するための処理モジュールと、
基礎コーパスで前記第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、前記第１の問答結果を返送するための結果取得モジュールと、
を含む音声対話装置。
【請求項１０】
前記処理モジュールは、
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに対して加算処理を行い、前記第３の文ベクトルを取得するために用いられる
請求項９に記載の音声対話装置。
【請求項１１】
ベクトル取得モジュールをさらに含み、
前記ベクトル取得モジュールはさらに、
前記第１の質問文の第１の文ベクトル及び前記第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する前、前記第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、前記第２の質問文に対して単語分割処理を行って複数の第２の単語を取得し、
前記複数の第１の単語の単語ベクトルに基づいて前記第１の質問文の第１の文ベクトルを取得し、前記複数の第２の単語の単語ベクトルに基づいて前記第２の質問文の第２の文ベクトルを取得する
ために用いられる請求項９に記載の音声対話装置。
【請求項１２】
前記結果取得モジュールは、
第１の問答対及び前記第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの類似度を取得し、
前記第３の文ベクトルとの類似度が最も高い第５の文ベクトルを前記第４の文ベクトルとし、
前記基礎コーパスで前記第４の文ベクトルに対応する第１の問答結果を取得する
ために用いられる請求項９に記載の音声対話装置。
【請求項１３】
前記結果取得モジュールはさらに、
前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの余弦類似度を取得する
ために用いられる請求項１２に記載の音声対話装置。
【請求項１４】
コーパス取得モジュールをさらに含み、
前記コーパス取得モジュールは、
前記基礎コーパスにおける各第５の文ベクトルと前記第３の文ベクトルとの類似度を取得する前、ネットワークからチャット閉鎖集を取得し、前記チャット閉鎖集に基づいて第１の問答対を取得し、
前記第１の問答対に基づいて前記基礎コーパスを取得する
ために用いられる請求項１２に記載の音声対話装置。
【請求項１５】
前記判断モジュールはさらに、
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断する前、問答コーパスに前記第１の質問文に対応する第２の問答対が存在するかどうかを判断し、得られた判断結果がＮＯである
ために用いられる請求項９に記載の音声対話装置。
【請求項１６】
前記結果取得モジュールはさらに、
前記第１の質問文が予め設定された時間帯内に受信された最初の質問文である場合、前記第１の質問文の第１の文ベクトルに基づき、前記基礎コーパスで前記第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、前記第２の問答結果を返送する
ために用いられる請求項９に記載の音声対話装置。
【請求項１７】
少なくとも１つのプロセッサ及びメモリを含み、
前記メモリには、コンピュータの実行命令が記憶され、
前記少なくとも１つのプロセッサが請求項１〜８のいずれか一項に記載の音声対話方法を実行するように、前記少なくとも１つのプロセッサは、前記メモリに記憶されたコンピュータの実行命令を実行する
音声対話装置。
【請求項１８】
プロセッサにより実行された場合、コンピュータに請求項１〜８のいずれか一項に記載の音声対話方法を実行させるためのコンピュータの実行命令を含む、コンピュータプログラム。
【請求項１９】
請求項１８に記載のコンピュータプログラムを格納する、  コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、音声対話技術の分野に関し、特に音声対話方法及び装置に関する。
【背景技術】
【０００２】
人工知能技術の継続的な進歩に伴い、人間と機械との音声対話も大きな進歩を遂げており、各種の音声アシスタント及び人間と機械との対話装置がますます多くのユーザに好まれている。
【０００３】
既存の音声対話プロセスにおいて、ユーザが機械に質問文（ｑｕｅｒｙ）を入力した後、機械は、コーパス内に質問文と一致する問答結果を検索し、そして問答結果をユーザにフィードバックする。しかし、コーパスにおける問答対の記憶数が限られているため、ユーザの質問文に対して対応する問答結果を得ることができないので、機械は、いわゆる「基礎話術」を使用して返送する必要がある。そのうち、「基礎話術」とは、基礎話術集を設定し、基礎話術集に少量の固定回答文が記憶され、基礎話術集から回答文をランダムに選択して回答できるものである。例えば、基礎話術集は、「我不理解」、「我不明白」、
［文１］
2020004382.tif 000003
、
［文２］
2020004382.tif 000004
等を含むことができる。
【０００４】
しかし、基礎回答が基礎話術集から回答文をランダムに選択して回答するものであるため、回答は、ユーザの質問文と関連せず、ユーザの体験が悪くなる。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例は、音声対話方法及び装置を提供することにより、回答内容がユーザの質問文と関連せず、ユーザの体験が悪いという問題を克服する。
【課題を解決するための手段】
【０００６】
第１の態様では、本発明の実施例に提供される音声対話方法は、
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するステップと、
ＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するステップと、
第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するステップと、
基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送するステップと、を含む。
【０００７】
可能な設計では、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するステップは、
第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに対して加算処理を行い、第３の文ベクトルを取得すること、を含む。
【０００８】
可能な設計では、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するステップの前、方法は、
第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、かつ第２の質問文に対して単語分割処理を行って複数の第２の単語を取得するステップと、
複数の第１の単語の単語ベクトルに基づいて第１の質問文の第１の文ベクトルを取得し、かつ複数の第２の単語の単語ベクトルに基づいて第２の質問文の第２の文ベクトルを取得するステップと、をさらに含む。
【０００９】
可能な設計では、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得するステップは、
第１の問答対及び第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得することと、
第３の文ベクトルとの類似度が最も高い第５の文ベクトルを第４の文ベクトルとすることと、
基礎コーパスで第４の文ベクトルに対応する第１の問答結果を取得することと、を含む。
【００１０】
可能な設計では、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得するステップは、
基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの余弦類似度を取得すること、を含む。
【００１１】
可能な設計では、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得するステップの前、
ネットワークからチャット閉鎖集を取得し、かつチャット閉鎖集に基づいて第１の問答対を取得するステップと、
第１の問答対に基づいて基礎コーパスを取得するステップと、をさらに含む。
【００１２】
可能な設計では、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するステップの前、方法は、
問答コーパスに第１の質問文に対応する第２の問答対が存在するかどうかを判断し、得られた判断結果がＮＯであるステップ、をさらに含む。
【００１３】
可能な設計では、第１の質問文が予め設定された時間帯内に受信された最初の質問文である場合、方法は、
第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、かつ第２の問答結果を返送するステップ、をさらに含む。
【００１４】
第２の態様では、本発明の実施例に提供される音声対話装置は、
現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するための判断モジュールと、
判断モジュールの判断結果がＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するための文取得モジュールと、
第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するための処理モジュールと、
基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送するための結果取得モジュールと、を含む。
【００１５】
可能な設計では、処理モジュールは具体的には、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに対して加算処理を行い、第３の文ベクトルを取得するために用いられる。
【００１６】
可能な設計では、ベクトル取得モジュールをさらに含み、
ベクトル取得モジュールはさらに、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する前、第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、かつ第２の質問文に対して単語分割処理を行って複数の第２の単語を取得し、
複数の第１の単語の単語ベクトルに基づいて第１の質問文の第１の文ベクトルを取得し、かつ複数の第２の単語の単語ベクトルに基づいて第２の質問文の第２の文ベクトルを取得するために用いられる。
【００１７】
可能な設計では、結果取得モジュールは具体的には、
第１の問答対及び第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得し、
第３の文ベクトルとの類似度が最も高い第５の文ベクトルを第４の文ベクトルとし、
基礎コーパスで第４の文ベクトルに対応する第１の問答結果を取得するために用いられる。
【００１８】
可能な設計では、結果取得モジュールはさらに具体的には、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの余弦類似度を取得するために用いられる。
【００１９】
可能な設計では、コーパス取得モジュールをさらに含み、
コーパス取得モジュールは、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得する前、ネットワークからチャット閉鎖集を取得し、かつチャット閉鎖集に基づいて第１の問答対を取得し、
第１の問答対に基づいて基礎コーパスを取得するために用いられる。
【００２０】
可能な設計では、判断モジュールはさらに、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断する前、問答コーパスに第１の質問文に対応する第２の問答対が存在するかどうかを判断し、得られた判断結果がＮＯであるために用いられる。
【００２１】
可能な設計では、結果取得モジュールはさらに、第１の質問文が予め設定された時間帯内に受信された最初の質問文である場合、第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、かつ第２の問答結果を返送するために用いられる。
【００２２】
第３の態様では、本発明の実施例に提供される音声対話装置は、少なくとも１つのプロセッサ及びメモリを含み、
メモリには、コンピュータの実行命令が記憶され、
少なくとも１つのプロセッサが上述した第１の態様及び第１の態様の各種の可能な設計に記載の音声対話方法を実行するように、少なくとも１つのプロセッサは、メモリに記憶されたコンピュータの実行命令を実行する。
【００２３】
第４の態様では、本発明の実施例に提供されるコンピュータ可読記憶媒体は、コンピュータ可読記憶媒体には、コンピュータの実行命令が記憶され、プロセッサがコンピュータの実行命令を実行すると、上述した第１の態様及び第１の態様の各種の可能な設計に記載の音声対話方法を実行することを特徴とする。
【発明の効果】
【００２４】
本実施例が提供する音声対話方法及び装置は、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断し、ＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得し、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する。本実施例は、１つ前の質問文と組み合せることによって文ベクトルを取得し、ユーザの対話シーンを十分に考慮することにより、文脈情報を考慮した問答結果を取得し、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返し、文ベクトルの類似度によってマッチングされた問答結果を取得し、計算プロセスがシンプルであり、問答結果を迅速かつ正確に取得することができる。
【図面の簡単な説明】
【００２５】
本発明の実施例又は従来技術における技術的解決手段をより明確に説明するために、以下は実施例又は従来技術の説明に使用することが必要な図面について簡単な説明を行い、明らかなように、以下の記載における図面は、本発明のいくつかの実施例に過ぎず、当業者である場合、創造的な努力をしなくても、これらの図面に基づいて他の図面に想到しうる。
【図１】本発明の実施例に係る音声対話の満足度の決定システムの概略アーキテクチャ図である。
【図２】本発明の実施例に係る音声対話方法の第１の概略フローチャートである。
【図３】本発明の実施例に係る音声対話方法の第２の概略フローチャートである。
【図４】本発明の実施例に係る音声対話装置の第１の概略構成図である。
【図５】本発明の実施例に係る音声対話装置の第２の概略構成図である。
【図６】本発明の実施例に係る音声対話装置のハードウェアの概略構成図である。
【発明を実施するための形態】
【００２６】
本発明の実施例の目的、技術的解決手段及び利点をより明確にするため、以下、本発明の実施例における図面を参照し、本発明の実施例における技術的解決手段について明確で、完全な記載を行い、明らかなように、記載される実施例は、本発明の実施例の一部に過ぎず、すべての実施例ではない。本発明における実施例に基づき、当業者が創造的な努力をせずに得るすべての他の実施例は、本発明の保護範囲に属する。
【００２７】
図１は、本発明の実施例に係る音声対話の満足度の決定システムの概略アーキテクチャ図である。図１に示すように、本実施例に係るシステムは、端末１０１及びサーバ１０２を含む。そのうち、端末１０１は、子供用ストーリー機、携帯電話、タブレット、車載端末等であってもよい。本実施例は、端末１０１の実現方式について特に限定せず、端末１０１は、ユーザと音声対話を行うことができるものであればよい。
【００２８】
音声対話（Ｓｐｅｅｃｈ  Ｉｎｔｅｒａｃｔｉｏｎ）は、音声認識、音声合成、自然言語理解等の技術に基づき、複数の実際の応用シーンで、端末に
［文３］
2020004382.tif 000005
式の知能的な人間と機械との対話体験を提供する。スマート問答、スマート再生、スマート検索等のシーンを含む複数の応用シーンに適用する。
【００２９】
ユーザは、端末１０１に質問文を音声で入力し、端末１０１は、質問文に応じて問答結果を取得してユーザにフィードバックすることができる。具体的には、端末１０１は、自身が記憶するコーパスに基づき、ローカルで問答結果を取得してもよく、又は質問文をサーバ１０２に送信し、サーバ１０２は、問答結果を取得してから端末１０１にフィードバックしてもよい。本実施例は、具体的な実現方式について特に限定せず、端末１０１がローカルで問答結果を取得してもよいし、サーバ１０２が質問文に応じて問答結果を取得してもよい。
【００３０】
しかし、一部のシーンで、端末１０１が対応する問答結果を取得することができないため、ユーザに基礎回答を行うが、基礎回答がユーザの質問文と関連せず、ユーザの体験が悪くなる。技術的課題を解決するために、本実施例は、音声対話方法を提供し、対話方法は、文ベクトルの類似度に基づいて問答結果を取得することにより、問答結果と質問文との類似度を向上させ、ユーザの体験を向上させる。以下、具体的な実施例を用いて詳細に説明する。
【００３１】
図２は、本発明の実施例に係る音声対話方法の第１の概略フローチャートであり、本実施例の実行主体は、図１に示す実施例における端末であってもよいし、図１に示す実施例のサーバであってもよく、本実施例は、それについて特に限定しない。図２に示すように、方法はＳ２０１〜Ｓ２０５を含む。
【００３２】
Ｓ２０１、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断する。ＮＯである場合、Ｓ２０２を実行し、ＹＥＳである場合、Ｓ２０５を実行する。
【００３３】
Ｓ２０２、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得する。
【００３４】
Ｓ２０３、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する。
【００３５】
ユーザが音声入力を行った後、すなわちユーザが入力した第１の質問文を取得した後、第１の質問文が今回の会話の１番目の文であるかどうかを判断する。当業者であればわかるように、第１の質問文は、音声であってもよいし、ユーザが入力したテキストであってもよく、本実施例は、特に限定しない。
【００３６】
ユーザが入力した第１の質問文が会話における１番目の文ではなく、今回の会話における２番目の文又は以降の文である場合、複数回のマッチングの出力アルゴリズムを採用する。具体的には、１回の会話の時間を予め設定された時間帯とすることができ、例えば、１０分間の時間帯を基準とし、１０分間以内にユーザが他の質問文を述べたことがある場合、現在の第１の質問文に対して複数回のマッチングの方式を採用して基礎話術を行う。
【００３７】
例えば、ユーザの１番目の質問文が「晩上好」であり、回答が
［文４］
2020004382.tif 000006
であり、そしてユーザが「今天下雪了」と言った。次に、最後のこの文の「今天下雪了」に対して以下の複数回のマッチングのアルゴリズムを採用して基礎話術の出力を行う。
【００３８】
複数回のマッチングにおいて、第１の質問文を受信した前に受信された最後の質問文（第１の質問文の１つ前の質問文）である第２の質問文をさらに取得する必要がある。基礎コーパスとマッチングする時、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する。
【００３９】
具体的には、第１の文ベクトル及び第２の文ベクトルを様々な方式で取得することができ、ここで、本実施例は、具体的な実施例を例として詳細に説明し、本実施例は、他の実現方式について特に限定しない。
【００４０】
具体的な実現過程において、第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、かつ第２の質問文に対して単語分割処理を行って複数の第２の単語を取得する。複数の第１の単語の単語ベクトルに基づいて第１の質問文の第１の文ベクトルを取得し、かつ複数の第２の単語の単語ベクトルに基づいて第２の質問文の第２の文ベクトルを取得する。
【００４１】
ただし、いわゆる単語ベクトルは、単語のベクトル表現であり、すなわち１つの単語が１つのベクトルに対応することができる。類似の単語について、その対応する単語ベクトルも類似している。例えば「下雨」の単語ベクトルは、（０．５、０．５）であり、「下雪」の単語ベクトルは、（０．６、０．６）である。本実施例において、単語ベクトルを二次元の単語ベクトルとして例を挙げて計算するが、これは、発明全体の流れを説明するためのものであり、実際のプロジェクトにおける単語ベクトルは、例えば１０２４次元である多次元の単語ベクトルであってもよく、その計算プロセス及びデータ量がより複雑であるが、全体構想は同じである。
【００４２】
単語ベクトルの計算は、統計的言語モデル、ニューラルネットワーク確率的言語モデル、深層学習モデル等の多くの成熟したアルゴリズムを含み、大量のテキストコーパスがあれば、訓練によって適切な単語ベクトルを取得することできる。本発明は、単語ベクトルの構築方法について限定しない。
【００４３】
第１の質問文及び第２の質問文がいずれも単語ではなく、文であるため、単語ベクトルに基づいて文ベクトルを取得しようとする場合、第１の質問文及び第２の質問文に対して単語分割処理を行う必要がある。例えば、ユーザの入力が「今天下雪了」である場合、単語分割は、「今天」、「下雪」、「了」である。以上の単語ベクトルに基づき、「今天」の単語ベクトルが（０．５、０）、「下雪」の単語ベクトルが（０．６、０．６）、「了」の単語ベクトルが（０、０．１）であることがわかる。そして、ユーザの入力の「今天下雪了」の文ベクトルは、（０．５＋０．６＋０、０＋０．６＋０．１）、すなわち（１．１、０．７）である。
【００４４】
第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルを取得した後、第１の文ベクトル及び第２の文ベクトルに基づいて第３の文ベクトルを取得する。具体的には、第１の文ベクトル及び第２の文ベクトルに対して和を求めるか又は加重平均することにより、第３の文ベクトルを取得することができる。
【００４５】
例えば、ユーザの質問文が「今天下雪了」（1つ前の文は「晩上好」である）であり、すなわち第１の質問文は、「今天下雪了」であり、第２の質問文は、「晩上好」である。
【００４６】
上記からわかるように、「今天下雪了」に対応する第１の文ベクトルは、（１．１、０．７）である。第２の質問文「晩上好」について、「晩上」の単語ベクトルが（−０．７、１）、「好」の単語ベクトルが（−０．１、０．２）である場合、「晩上好」に対応する第２の文ベクトルは、（−０．８、１．２）であり、「今天下雪了」の文ベクトル（１．１、０．７）と加算し、今回の新しい文ベクトル（０．３、１．９）、すなわち第３の文ベクトルを取得する。
【００４７】
Ｓ２０４、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送する。
【００４８】
本実施例において、基礎コーパスには、第１の問答対及び第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる。そのうち、第１の問答対は、質問文及び対応する問答結果を含み、各質問文について、いずれも計算によって質問文の第５の文ベクトルを取得する。
【００４９】
具体的には、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得し、第３の文ベクトルとの類似度が最も高い第５の文ベクトルを第４の文ベクトルとする。基礎コーパスで第４の文ベクトルに対応する第１の問答結果を取得する。
【００５０】
例えば、基礎コーパスに質問文「今天下雨了」、「今天晩上下雨了」が含まれると想定する。
【００５１】
ただし、「今天／下雨／了」の文ベクトルは、（０．５＋０．５＋０、０＋０．５＋０．１）、すなわち（１、０．６）である。「今天／晩上／下雨／了」に対応する文ベクトルは、（０．５−０．７＋０．５＋０、０＋１＋０．５＋０．１）＝（０．３、１．６）である。
【００５２】
上記２つの文ベクトルと第３の文ベクトルとの類似度を計算する。ただし、類似度を計算する方式は、様々であり、ここで、余弦類似度を例として説明する。
【００５３】
すなわち、
［数１］
2020004382.tif 000007
であり、ここで、
［数２］
2020004382.tif 000008
は、余弦類似度であり、ａ及びｂは、それぞれ文ベクトルである。
【００５４】
第３の文ベクトルが「晩上好＋今天下雪了」によって取得された文ベクトルであることを例として詳細に説明する。
【００５５】
「晩上好＋今天下雪了」（ａ（０．３、１．９）に設定する）と「今天下雨了」（ｂ（１、０．６）に設定する）との余弦類似度は、
［数３］
2020004382.tif 000009
である。
【００５６】
「晩上好＋今天下雪了」（ａ（０．３、１．９）に設定する）と「今天／晩上／下雨／了」（ｃ（０．３、１．６）に設定する）との余弦類似度は、
［数４］
2020004382.tif 000010
である。
【００５７】
上記からわかるように、第３の文ベクトルと「今天／晩上／下雨／了」の文ベクトルとの余弦類似度は、より高く、文の文ベクトルは、第４の文ベクトルである。
【００５８】
複数回において、ユーザのこの文の「今天下雪了」（１つ前の文は「晩上好」である）にマッチングされるのは、基礎コーパスにおける「今天晩上下雨了」であり、そして「今天晩上下雨了」に対応する問答結果の
［文５］
2020004382.tif 000011
を回答する。このように、上記の情報の一部をある程度使用することができ、回答全体をよりスマートで使いやすいものにする。
【００５９】
Ｓ２０５、第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、かつ第２の問答結果を返送する。
【００６０】
第１の質問文が予め設定された時間帯内の最初の質問文である場合、第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第２の問答結果を直接取得すればよい。
【００６１】
本実施例が提供する音声対話方法は、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断し、ＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得し、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する。本実施例は、１つ前の質問文と組み合せることによって文ベクトルを取得し、ユーザの対話シーンを十分に考慮することにより、文脈情報を考慮した問答結果を取得し、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返し、文ベクトルの類似度によってマッチングされた問答結果を取得し、計算プロセスがシンプルであり、問答結果を迅速かつ正確に取得することができる。
【００６２】
図３は、本発明の実施例に係る音声対話方法の第２の概略フローチャートであり、本実施例は、図２の実施例に加えて、本実施例の具体的な実現過程について詳細に説明する。図３に示すように、方法はＳ３０１〜Ｓ３０９を含む。
【００６３】
Ｓ３０１、ネットワークからチャット閉鎖集を取得し、かつチャット閉鎖集に基づいて第１の問答対を取得する。
【００６４】
Ｓ３０２、第１の問答対に基づき、第１の問答対及び第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる基礎コーパスを取得する。
【００６５】
具体的な実現過程において、ネットワークからチャット閉鎖集を取得することができ、ただし、チャット閉鎖集とは、数が限られたチャットの対話内容である。チャットの対話内容から第１の問答対、すなわち質問文及び問答結果が含まれる問答対を抽出し、かつ各質問文の文ベクトルを計算し、基礎コーパスを取得することができる。
【００６６】
Ｓ３０３、問答コーパスに第１の質問文に対応する第２の問答対が存在するかどうかを判断し、ＮＯである場合、Ｓ３０４を実行し、ＹＥＳである場合、Ｓ３０９を実行する。
【００６７】
Ｓ３０４、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるどうかを判断し、ＮＯである場合、Ｓ３０５を実行し、ＹＥＳである場合、Ｓ３０８を実行する。
【００６８】
第１の質問文を取得した後、まず問答コーパスから第１の質問文に対応する第２の問答対を取得することができ、具体的な取得方式は、語義マッチング等の方式であってもよく、本実施例は、それについて特に限定せず、第２の問答対が存在すれば、第２の問答対に基づいて第１の質問文に対応する第３の問答結果を直接決定し、かつ第３の問答結果を返送する。
【００６９】
第２の問答対が存在しなければ、Ｓ３０５を実行する。ここで、Ｓ３０５からＳ３０８は、図２の実施例におけるＳ２０２からＳ２０５と類似しており、本実施例は、それについて特に限定しない。
【００７０】
Ｓ３０５、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得する。
【００７１】
Ｓ３０６、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する。
【００７２】
Ｓ３０７、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送する。
【００７３】
Ｓ３０８、第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、かつ第２の問答結果を返送する。
【００７４】
Ｓ３０９、第２の問答対に基づいて第１の質問文に対応する第３の問答結果を決定し、かつ第３の問答結果を返送する。
【００７５】
本実施例が提供する音声対話方法は、基礎コーパスを予め確立し、かつ問答コーパスにおいて対応する問答結果がない時、基礎コーパスから文ベクトルの類似度によってマッチングされた問答結果を取得することにより、計算プロセスがシンプルであり、問答結果を迅速かつ正確に取得することができる。
【００７６】
図４は、本発明の実施例に係る音声対話装置の第１の概略構成図である。図４に示すように、音声対話装置４０は、判断モジュール４０１、文取得モジュール４０２、処理モジュール４０３及び結果取得モジュール４０４を含む。
【００７７】
判断モジュール４０１は、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断するために用いられる。
【００７８】
文取得モジュール４０２は、判断モジュール４０１の判断結果がＮＯである場合、第１の質問文を受信した前に受信された最後の質問文である第２の質問文を取得するために用いられる。
【００７９】
処理モジュール４０３は、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得するために用いられる。
【００８０】
結果取得モジュール４０４は、基礎コーパスで第３の文ベクトルとの類似度が予め設定された条件を満たす第４の文ベクトルに対応する第１の問答結果を取得し、かつ第１の問答結果を返送するために用いられる。
【００８１】
本実施例が提供する装置は、上記方法例の技術的解決手段を実行するために使用されてもよく、その実現原理及び技術的効果が類似しているため、本実施例は、それについて繰り返し説明しない。
【００８２】
図５は、本発明の実施例に係る音声対話装置の第２の概略構成図である。図５に示すように、本実施例は、図４の実施例に加えて、ベクトル取得モジュール４０５及びコーパス取得モジュール４０６をさらに含む。
【００８３】
可能な設計では、処理モジュール４０３は具体的には、
第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに対して加算処理を行い、第３の文ベクトルを取得するために用いられる。
【００８４】
可能な設計では、ベクトル取得モジュール４０５はさらに、第１の質問文の第１の文ベクトル及び第２の質問文の第２の文ベクトルに基づいて第３の文ベクトルを取得する前、第１の質問文に対して単語分割処理を行って複数の第１の単語を取得し、かつ第２の質問文に対して単語分割処理を行って複数の第２の単語を取得し、
複数の第１の単語の単語ベクトルに基づいて第１の質問文の第１の文ベクトルを取得し、かつ複数の第２の単語の単語ベクトルに基づいて第２の質問文の第２の文ベクトルを取得するために用いられる。
【００８５】
可能な設計では、結果取得モジュール４０４は具体的には、
第１の問答対及び第１の問答対における第３の質問文に対応する第５の文ベクトルが含まれる基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得し、
第３の文ベクトルとの類似度が最も高い第５の文ベクトルを第４の文ベクトルとし、
基礎コーパスで第４の文ベクトルに対応する第１の問答結果を取得するために用いられる。
【００８６】
可能な設計では、結果取得モジュール４０４はさらに具体的には、
基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの余弦類似度を取得するために用いられる。
【００８７】
可能な設計では、コーパス取得モジュール４０６は、基礎コーパスにおける各第５の文ベクトルと第３の文ベクトルとの類似度を取得する前、ネットワークからチャット閉鎖集を取得し、かつチャット閉鎖集に基づいて第１の問答対を取得し、
第１の問答対に基づいて基礎コーパスを取得するために用いられる。
【００８８】
可能な設計では、判断モジュール４０１はさらに、現在受信された第１の質問文が予め設定された時間帯内に受信された最初の質問文であるかどうかを判断する前、問答コーパスに第１の質問文に対応する第２の問答対が存在するかどうかを判断し、得られた判断結果がＮＯであるために用いられる。
【００８９】
可能な設計では、結果取得モジュール４０４はさらに、第１の質問文が予め設定された時間帯内に受信された最初の質問文である場合、第１の質問文の第１の文ベクトルに基づき、基礎コーパスで第１の文ベクトルとの類似度が予め設定された条件を満たす第６の文ベクトルに対応する第２の問答結果を取得し、かつ第２の問答結果を返送するために用いられる。
【００９０】
本実施例が提供する装置は、上記方法例の技術的解決手段を実行するために使用されてもよく、その実現原理及び技術的効果が類似しているため、本実施例は、それについて繰り返し説明しない。
【００９１】
図６は、本発明の実施例に係る音声対話装置のハードウェアの概略構成図である。図６に示すように、本実施例の音声対話装置６０は、プロセッサ６０１及びメモリ６０２を含む。そのうち、メモリ６０２は、コンピュータの実行命令を記憶するために用いられる。プロセッサ６０１は、メモリに記憶されたコンピュータの実行命令を実行することにより、上記実施例において音声対話装置が実行する各ステップを実現するために用いられる。具体的には、方法例における関連説明を参照することができる。
【００９２】
選択できるように、メモリ６０２は、独立したものであってもよいし、プロセッサと一体化されるものであってもよい。
【００９３】
メモリ６０２が独立して設定される時、音声対話装置は、メモリ１７０２とプロセッサ１７０１を接続するためのバス１７０３をさらに含む。
【００９４】
本発明の実施例は、さらにコンピュータ可読記憶媒体を提供し、コンピュータ可読記憶媒体には、コンピュータの実行命令が記憶され、プロセッサがコンピュータの実行命令を実行すると、上記のような音声対話方法を実現する。
【００９５】
本発明が提供するいくつかの実施例において、開示される装置及び方法は、他の方式によって実現することができると理解されるべきである。例えば、以上で説明した装置の実施例は、例示的なものに過ぎず、例えば、モジュールの分割は、論理的機能の分割に過ぎず、実際に実現する時に他の分割方式を用いてもよく、例えば、複数のモジュールを組み合わせても、又は他のシステムに集積してもよく、又はいくつかの特徴を考慮しなくてもよく、又は実行しない。他方では、表示又は解説した相互間の結合又は直接結合又は通信接続は、いくつかのインタフェースを介しても、装置又はモジュールの間接結合又は通信接続でもよく、電気的、機械的又は他の形式の接続でもよい。
【００９６】
上記別体部材として説明されたモジュールは、物理的に分離するか、又は物理的に分離していないものであってもよく、モジュールとして表現された部材は、物理的ユニットでも、又はそうでなくてもよく、すなわち１箇所に位置しても、又は複数のネットワークユニットに分布してもよい。実際の要件に基づき、その一部又は全てのユニットを選んで本実施例の解決手段の目的を実現させることができる。
【００９７】
また、本発明の各実施例における各機能モジュールは、同一処理ユニットに集積してもよく、各モジュールが単独で物理的に存在してもよく、２つ又は２つ以上のモジュールを同一ユニットに集積してもよい。上記集積されたユニットはハードウェアの形式で実現可能であり、ハードウェアとソフトウェア機能ユニットの形式でも実現可能である。
【００９８】
上記ソフトウェア機能モジュールの形式で実現される集積されるモジュールは、コンピュータ可読記憶媒体に記憶されてもよい。上記ソフトウェア機能モジュールは１つの記憶媒体に記憶され、１つのコンピュータ装置（パーソナルコンピュータ、サーバ、又はネットワーク装置等にしてもよい）、又はプロセッサ（英語：ｐｒｏｃｅｓｓｏｒ）に本出願の各実施例に記載の方法のステップの一部を実行させるための複数の命令を含む。
【００９９】
上記プロセッサは、中央処理装置（英語：Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ、略称：ＣＰＵ）であってもよいし、他の汎用プロセッサ、デジタル信号プロセッサ（英語：Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ、略称：ＤＳＰ）、専用集積回路（英語：Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ、略称：ＡＳＩＣ）等であってもよいと理解されるべきである。汎用プロセッサは、マイクロプロセッサであってもよく、又はプロセッサは、任意の従来のプロセッサ等であってもよい。本発明の実施例が開示する方法のステップと組み合わせ、ハードウェアのプロセッサで直接実行するか、又はプロセッサにおけるハードウェア及びソフトウェアモジュールの組み合わせによって実行してもよい。
【０１００】
メモリは、高速ＲＡＭ記憶装置を含んでもよく、不揮発性メモリＮＶＭを含んでもよく、例えば少なくとも１つの磁気ディスクメモリであり、またＵディスク、モバイルハードディスク、読み取り専用メモリ、磁気ディスク又は光ディスク等であってもよい。
【０１０１】
バスは、業界標準アーキテクチャ（Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＩＳＡ）バス、周辺機器コンポーネント（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ、ＰＣＩ）バス又は拡張業界標準アーキテクチャ（Ｅｘｔｅｎｄｅｄ  Ｉｎｄｕｓｔｒｙ  Ｓｔａｎｄａｒｄ  Ａｒｃｈｉｔｅｃｔｕｒｅ、ＥＩＳＡ）バス等であってもよい。バスは、アドレスバス、データバス、制御バス等に分けることができる。図示の便宜上、本出願の図面におけるバスは、１本又は１種類のバスしかないものに限定するわけではない。
【０１０２】
上記記憶媒体は、例えばスタティックランダムアクセスメモリ（ＳＲＡＭ）、電気的消去可能プログラマブルリードオンリーメモリ（ＥＥＰＲＯＭ）、消去可能プログラマブルリードオンリーメモリ（ＥＰＲＯＭ）、プログラマブルリードオンリーメモリ（ＰＲＯＭ）、読み取り専用メモリ（ＲＯＭ）、磁気メモリ、フラッシュメモリ、磁気ディスク又は光ディスク、任意タイプの揮発性又は不揮発性の記憶装置又はそれらの組み合わせによって実現することができる。記憶媒体は、汎用又は専用コンピュータによってアクセス可能な任意の利用可能な媒体であってもよい。
【０１０３】
例示的な記憶媒体は、プロセッサに結合されることにより、プロセッサが記憶媒体から情報を読み取ったり、記憶媒体に情報を書き込んだりすることを可能にする。当然のことながら、記憶媒体は、プロセッサの構成部分であってもよい。プロセッサ及び記憶媒体は、専用集積回路（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ、略称：ＡＳＩＣ）に存在してもよい。当然のことながら、プロセッサ及び記憶媒体は、独立部品として電子装置又は主制御装置に存在してもよい。
【０１０４】
当業者である場合理解できるように、上述した各方法例の全部又は一部のステップは、プログラム命令に関連するハードウェアによって達成することができる。プログラムは、コンピュータ可読記憶媒体に記憶されてもよい。プログラムは、実行する時、上記各方法例のステップを含んで実行する。記憶媒体は、ＲＯＭ、ＲＡＭ、磁気ディスク又は光ディスク等の、プログラムコードを記憶できる各種の媒体を含む。
【０１０５】
最後に説明すべきように、以上の各実施例が、本発明の技術的解決手段を説明することにのみ用いられ、これらに限定されるものではないことである。前述の各実施例を参照して本発明について詳細に説明したが、当業者であれば理解すべきように、それは、依然として前述の各実施例に記載された技術的解決手段を修正し、又はそのうちの一部又は全部の技術的特徴に対して同等の置換を行うことが可能である。これらの修正又は置換は、対応する技術的解決手段の本質を本発明の各実施例の技術的解決手段の範囲から逸脱させるものではない。
【図１】
2020004382.tif 000012
【図２】
2020004382.tif 000013
【図３】
2020004382.tif 000014
【図４】
2020004382.tif 000015
【図５】
2020004382.tif 000016
【図６】
2020004382.tif 000017