JP6998517B2 - 発話継続判定方法、発話継続判定装置およびプログラム - Google Patents

発話継続判定方法、発話継続判定装置およびプログラム Download PDF

Info

Publication number
JP6998517B2
JP6998517B2 JP2017117084A JP2017117084A JP6998517B2 JP 6998517 B2 JP6998517 B2 JP 6998517B2 JP 2017117084 A JP2017117084 A JP 2017117084A JP 2017117084 A JP2017117084 A JP 2017117084A JP 6998517 B2 JP6998517 B2 JP 6998517B2
Authority
JP
Japan
Prior art keywords
sentence
user
utterance
data
unit
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2017117084A
Other languages
English (en)
Other versions
JP2019003380A (ja
Inventor
貴志 牛尾
勝義 山上
充 遠藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Intellectual Property Management Co Ltd
Original Assignee
Panasonic Intellectual Property Management Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Panasonic Intellectual Property Management Co Ltd filed Critical Panasonic Intellectual Property Management Co Ltd
Priority to JP2017117084A priority Critical patent/JP6998517B2/ja
Priority to US15/989,603 priority patent/US10789951B2/en
Priority to CN201810578751.XA priority patent/CN109086264B/zh
Priority to EP18176721.1A priority patent/EP3416163B1/en
Publication of JP2019003380A publication Critical patent/JP2019003380A/ja
Application granted granted Critical
Publication of JP6998517B2 publication Critical patent/JP6998517B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/253Grammatical analysis; Style critique
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/16Speech classification or search using artificial neural networks
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/24Speech recognition using non-acoustical features
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/27Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique
    • G10L25/30Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the analysis technique using neural networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Theoretical Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • General Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本開示は、発話継続判定方法、発話継続判定装置およびプログラムに関し、特に、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法、発話継続判定装置およびプログラムに関する。
発話継続判定技術は、ユーザが発話を継続したいか否かを推定する技術すなわちユーザの発話継続を判定する技術である。そして、発話継続判定技術を用いて、対話システムの応答のタイミングおよび内容を動的に制御する技術が提案されている(例えば特許文献1)。
特許文献1に開示される技術では、対話システムが示す設問毎に想定されるユーザの発話に含まれるキーワードの最大文字数の算出に基づいて、ユーザの発話等による入力を受け付けるまでの待ち時間、または入力を継続して受け付ける音声受付時間を増減させる。
特許第4667085号公報
しかしながら、上記特許文献1で提案される方法では、ユーザの発話継続の判定を十分な精度で行えないという課題がある。
本開示は、上述の事情を鑑みてなされたもので、ユーザの発話継続の判定精度を向上できる発話継続判定方法、発話継続判定装置およびプログラムを提供することを目的とする。
本開示の一態様に係る発話継続判定方法は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、前記ユーザの状況を示すユーザ状況情報を取得する状況取得ステップと、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含む。
また、上記目的を達成するために、本開示の一態様に係る発話継続判定装置は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、前記ユーザの状況を示すユーザ状況情報を取得する状況取得部と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備える。
なお、これらの全般的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
本開示の発話継続判定方法等によれば、ユーザの発話継続の判定精度を向上できる。
実施の形態1に係る発話継続判定システムの構成例を示すブロック図である。 実施の形態1に係る発話継続判定システムの構成の別例を示すブロック図である。 実施の形態1に係る学習用データの一例を示す図である。 実施の形態1に係る学習部の詳細構成の一例を示すブロック図である。 実施の形態1に係る対話データの一例を示す図である。 実施の形態1に係る推定部の詳細構成の一例を示すブロック図である。 実施の形態1に係る応答遅延推定結果の一例を示す図である。 実施の形態1に係るユーザ状況情報の一例を示す図である。 実施の形態1に係る判定部の詳細構成の一例を示すブロック図である。 実施の形態1に係る発話継続判定結果の一例を示す図である。 実施の形態1に係る発話継続判定システムの動作の概要を示すフローチャートである。 実施の形態1に係る学習処理の詳細のフローチャートである。 図11に示す推定処理の詳細を示すフローチャートである。 図11に示す判定処理の詳細を示すフローチャートである。 実施の形態1に係る第1判定の一態様を説明するための図である。 実施の形態1に係る第1判定の一態様を説明するための図である。 実施の形態1に係る第2判定の一態様を説明するための図である。 実施の形態2に係る対話システムの構成の一例を示すブロック図である。
(本開示の基礎となった知見)
発話継続判定技術は、ユーザが発話を継続したいか否かを推定する技術すなわちユーザの発話継続を判定する技術である。そして、発話継続判定技術を用いて、対話システムの応答のタイミングおよび内容を動的に制御する。しかしながら、この判定精度が悪いと、ユーザが発話を継続しようとしている一方で、対話システムは、同じ内容もしくは次の質問内容などを誤って応答していまい、ユーザの発話を聞き逃してしまう。そして、誤った応答をすることは対話システムとユーザとの対話時間の増加をもたらす。そのため、ユーザの発話継続の精度の向上が望まれている。
例えば、特許文献1では、設問毎に想定されるキーワード最大文字数を用いるといったルールにより設問毎の音声認識用文法解析した解析結果に基づいて、音声を受け付けるまでの待ち時間および/または音声を継続して受付ける音声受付時間を増減する技術が開示されている。これにより、利用者にとって必要以上の待ち時間(音声認識)が生じさせず、円滑な対話を維持することができる。
しかしながら、特許文献1に開示される技術では、設問に依存して、システムが一度に受け付けるキーワードの最大値と最小値が自然と決まることを前提としている。つまり、ユーザの自由な発話表現を許容する場合、キーワードが0であることや、並列的にキーワードを述べるように最大値が決まらないことも想定され、待ち時間を適切に決めることが困難となる。
そこで、ユーザの発話継続の精度の向上のために、ユーザの発話内容の意味を考慮して、発話継続を判定することが必要と想到するに至った。
このような課題に対して、本開示の一態様に係る発話継続判定方法は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、前記ユーザの状況を示すユーザ状況情報を取得する状況取得ステップと、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含む。
本態様によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、ユーザの発話継続の判定を2段階で行うことで、ユーザの発話継続の判定精度を向上できる。
また、例えば、前記ユーザ状況情報は、(1)前記ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否か、(2)前記ユーザの発話を音により入力するための集音部における音声信号が入力中か否か、(3)前記ユーザの視線を検出するための視線検出部における前記ユーザの視線位置が前記第1文章を提示する提示部を含む装置にあるか否か、および、(4)前記ユーザの姿勢を検出するための姿勢検出部における前記ユーザの顔方向および体方向が前記第1文章を提示する提示部を含む装置であるか否かのうちの少なくとも一に対応する値を示すとしてもよい。
また、例えば、前記判定ステップは、前記応答遅延量が示す待ち時間が0である場合に、前記ユーザの発話文が継続しない旨を示す第1判定を行い、前記応答遅延量が示す待ち時間が0より大きい場合において、前記待ち時間中における前記ユーザ状況情報が所定の値を示すとき、前記ユーザの発話文が継続する旨を示す第2判定を行い、前記待ち時間中における前記ユーザ状況情報が前記所定の値を示さないとき、前記第1判定を行うとしてもよい。
また、例えば、前記発話継続判定方法は、さらに、ユーザに対して発話された、第3発話文のテキストデータである第3文章と、前記第3文章に続いて当該ユーザにより発話された第4発話文のテキストデータである第4文章と、前記第3文章が示す意図を構造化したデータである構造化データと、前記第4文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する学習取得ステップと、前記学習用データを用いて、前記モデルに、学習させる学習ステップと、前記学習ステップにおいて学習した結果を前記学習結果情報として記憶する記憶ステップとを含み、前記学習ステップでは、前記学習用データに含まれる前記応答遅延量を教師データとして、前記第4文章と前記応答遅延量との対応付けを学習させるとしてもよい。
本態様によれば、過去のシステムの発話文におけるシステム意図と、過去のシステムの発話文に対するユーザ発話文を含む学習用データを用いて、学習用データに含まれる当該ユーザ発話文に対する応答遅延量を教師データとして、ユーザ発話文と応答遅延量との対応づけを行う学習処理を行う。これにより、システム発話文に続くユーザ発話文から、応答遅延量を精度よく推定できる。
また、例えば、前記モデルは、前記第4文章を形態素解析することで得た単語列に含まれる単語、並びに、前記構造化データに含まれる対話行為およびキーワードを素性とする第1素性ベクトルを算出し、算出した前記第1素性ベクトルと第1重みパラメータとに基づき、前記第4文章の対話状態を表現する第1特徴ベクトルを出力する第1モデルと、前記第1特徴ベクトルと第2重みパラメータとに基づき、前記第4文章に対する応答遅延量を出力する第2モデルとを含み、前記学習ステップでは、前記第2モデルにより出力される前記応答遅延量と、前記学習用データに含まれる前記応答遅延量との間の誤差に基づいて、前記第1重みパラメータおよび前記第2重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて前記モデルに学習させるとしてもよい。
また、例えば、前記第1モデルは、前記第1重みパラメータを持ち、算出された前記第1素性ベクトルから第1特徴ベクトルを算出するニューラルネットワークを有し、前記第2モデルは、シグモイド回帰を出力とするニューラルネットワークモデル、SVM(Support Vector Machine)モデルまたはナイーブベイズ分類器を用いるとしてもよい。
また、例えば、前記学習取得ステップでは、前記学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパスから取得するとしてもよい。
また、例えば、前記第1文章が示す意図は、前記第1文章をカテゴリおよび行為により分類することで得られる前記第1文章の意図の種類を示す対話行為と、前記第1文章に含まれるキーワードとを含むとしてもよい。
また、例えば、前記第3文章が示す意図は、前記第3文章をカテゴリおよび行為により分類することで得られる前記第3文章の意図の種類を示す対話行為と、前記第3文章に含まれるキーワードとを含むとしてもよい。
本開示の一態様に係る発話継続判定装置は、機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、前記ユーザの状況を示すユーザ状況情報を取得する状況取得部と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報に応じて、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備える。
本態様によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、ユーザの発話継続の判定を2段階で行うことで、ユーザの発話継続の判定精度を向上できる。
なお、これらの包括的または具体的な態様は、システム、方法、集積回路、コンピュータプログラムまたはコンピュータで読み取り可能なCD-ROMなどの記録媒体で実現されてもよく、システム、方法、集積回路、コンピュータプログラムおよび記録媒体の任意な組み合わせで実現されてもよい。
以下、本開示の実施の形態について、図面を参照しながら説明する。以下で説明する実施の形態は、いずれも本開示の一具体例を示すものである。以下の実施の形態で示される数値、形状、構成要素、ステップ、ステップの順序などは、一例であり、本開示を限定する主旨ではない。また、以下の実施の形態における構成要素のうち、最上位概念を示す独立請求項に記載されていない構成要素については、任意の構成要素として説明される。また、全ての実施の形態において、各々の内容を組み合わせることもできる。
(実施の形態1)
以下では、図面を参照しながら、実施の形態1における発話継続判定方法等の説明を行う。
[発話継続判定システム]
図1は、実施の形態1に係る発話継続判定システム1の構成例を示すブロック図である。図2は、実施の形態1に係る発話継続判定システム1Aの構成の別例を示すブロック図である。なお、図1と同様の要素には同一の符号を付している。
図1に示す発話継続判定システム1は、記憶装置10と、学習処理装置11と、発話継続判定装置12とを備える。
<記憶装置10>
記憶装置10は、コーパス101および対話データ102を記憶する。コーパス101は、対話における発話を示すテキストデータが大規模に集められデータベース化されたものである。本実施の形態では、コーパス101は、複数の学習用データ1011を含む。学習用データ1011は、学習処理装置11が学習処理を行う際に用いられる。
記憶装置10は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
<学習処理装置11>
学習処理装置11は、記憶装置10に記憶されるコーパス101から1以上の学習用データ1011を取得し、ユーザの発話に対する応答の待ち時間を示す応答遅延量を推定するための所定のモデルの学習処理を行う。学習処理装置11は、コンピュータ等で実現される。
<発話継続判定装置12>
次に、本実施の形態に係る発話継続判定装置12の構成について説明する。
発話継続判定装置12は、記憶装置10から対話データ102を取得し、学習処理装置11により機械学習された所定のモデルを用いて、ユーザの発話継続すなわちユーザが発話を継続したがっているか否かを判定する。発話継続判定装置12は、コンピュータ等で実現成される。
なお、実施の形態1に係る発話継続判定システム1は、図1に示す構成に限らない。図2の発話継続判定システム1Aに示すように、発話継続判定装置12が、図1に示す学習処理装置11に相当する機能部である学習処理装置部11Aと、図1に示す発話継続判定装置12に相当する機能部である発話継続判定装置部12Aとを含むとしてもよい。つまり、図2に示す発話継続判定装置12のように、学習処理と発話継続判定処理との両方が行われてもよいし、図1に示すように学習処理装置11と発話継続判定装置12とが異なる装置でありそれぞれ学習処理と発話継続判定処理とを行うとしてもよい。また、図2に示す発話継続判定装置12に、さらに記憶装置10が含まれるとしてもよい。
以下、学習処理装置11および発話継続判定装置12の詳細構成について説明する。
[学習処理装置11]
学習処理装置11は、図1等に示すように、取得部111と、学習部112と、記憶部113とを備える。
<記憶部113>
記憶部113は、学習部112において学習された結果を学習結果情報1131として記憶する。記憶部113は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。
<取得部111>
取得部111は、ユーザに対して発話された第3発話文のテキストデータである第3文章と、第3文章に続いて当該ユーザにより発話された第4発話文のテキストデータである第4文章と、第3文章が示す意図を構造化したデータである構造化データと、第4文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する。
なお、取得部111は、当該学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパス101から取得する。
本実施の形態では、取得部111は、記憶装置10に記憶されるコーパス101から1以上の学習用データ1011を取得する。なお、取得部111は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータで読み取り可能なプログラムを実行することで実現される。
図3は、実施の形態1に係る学習用データ1011の一例を示す図である。上述したが、図3に示す学習用データ1011はコーパス101に含まれる。換言すると、コーパス101は、学習用データ1011が集積されたものに該当する。
学習用データ1011には、システムの発話文に対するユーザの発話文を示す発話データが複数含まれている。ここでシステムとは、発話継続判定システム1であってもよいし、対話または応答を生成する対話システム、サーバまたは装置等であってもよい。図3には、日本語による献立相談について対話する発話データを複数含む学習用データ1011が示されている。
学習用データ1011は、図3に示すように、データID142が付与された、システム意図143とシステム文章144とユーザ文章145と応答遅延量146とを含んでいる。また、学習用データ1011は、データID142が付与されたシステム意図143~応答遅延量146を1以上含む訓練データ141を有する。図3には、訓練データ141に、「1」を示すデータID142が付与されたシステム意図143~応答遅延量146を含まれる例が示されているがこれに限らない。
データID142は、訓練データ141を一意に特定するための識別子である。また、データID142は、システム意図143~応答遅延量146の内容を一意に特定するために用いられる。
システム文章144は、システムによる1発話の文章を示す1発話文のテキストデータである。より具体的には、システム文章144は、ユーザに対してシステムにより発話された発話文のテキストデータであり、第3文章の一例である。ユーザ文章145は、ユーザによる1発話の文章を示す1発話文のテキストデータである。より具体的には、ユーザ文章145は、システム文章144に続いてユーザにより発話された発話文のテキストデータであり、第4文章の一例である。システム文章144およびユーザ文章145は、日本語の単語の区切りがない文字列データである。なお、システム文章144およびユーザ文章145が、英語のテキストデータである場合、半角スペースにより英語の単語が区切られた文字列データであればよい。
システム意図143は、システム文章144が示す意図を構造化したデータ(構造化データ)である。当該構造化データには、システム文章144が示す文章をカテゴリおよび行為により分類することで得られる当該文章の意図の種類を示す対話行為と、システム文章144が示す文章に含まれるキーワードとが含まれる。したがって、システム意図143は、システム文章144の意味またはその概要を示すとも捉えることができる。図3に示す例では、システム意図143は、「YESNO質問」、「確認質問」、「オープン質問」といったシステム文章144の対話行為と、<海鮮丼>、<鶏肉>などのキーワードとから構成されている。
なお、システム意図143およびシステム文章144は、システムとユーザとの間の対話初期などにおいて空である場合は、システム意図143およびシステム文章144は初期状態を示す文字列である「INIT」が示される。
応答遅延量146は、ユーザ文章145に対する応答の待ち時間の有無を示す。なお、応答遅延量146は、学習時に、システム文章144に続くユーザ文章145に対する教師データとして用いられる。応答遅延量146は、図3に示すように、例えば0または1で示しているが、実際の遅延制御においては各値(0または1)に対応させた固定値(例えば5秒)を用いることができる。なお、応答遅延量146は、ユーザ文章145に対するシステムの応答をどの程度遅延させるべきかを示す数値であってもよい。
ここで、図3に示す例において、取得部111は、データID142が1を示す訓練データ141を学習部112の学習処理の対象とした場合には、システム意図143「YESNO質問<海鮮丼>」と、システム文章144「海鮮丼でいいですか?」と、ユーザ文章145「昨日魚を食べたので、」とを取得する。そして、取得部111は、データID142に1が付された応答遅延量146に示される「1」を当該訓練データ141を用いた学習時の真値すなわち教師データとして取得する。
なお、取得部111は、データID142を変更した訓練データ141を、学習部112の行う学習が収束するまで都度取得する。取得部111は、データID142をインクリメントすることで異なるデータID142を含む訓練データ141を取得してもよいし、別のの訓練データ141を取得するとしてもよい。
<学習部112>
学習部112は、学習用データ1011を用いて、所定のモデルに学習させる。より具体的には、学習部112は、学習用データ1011に含まれる応答遅延量146を教師データとして、ユーザ文章145(第4文章)と応答遅延量146との対応付けを学習させる。より具体的に、図3を用いて説明すると、学習部112は、取得部111により取得された学習用データ1011を所定のモデルに適用することにより、システム意図143に含まれる対話行為およびキーワードで示される構造化データと、ユーザ文章145に含まれる単語とに基づいて、対話状態を示す第1特徴ベクトルを算出する。そして、算出した第1特徴ベクトルと重みパラメータを用いて、ユーザ文章145と応答遅延量146との対応付けを学習する。そして、学習部112は、学習した結果を学習結果情報1131として記憶部113に記憶する。
本実施の形態では、所定のモデルは、第1重みパラメータを有する第1モデル、第2重みパラメータを有する第2モデルを含む。第1モデルは、ユーザ文章145(第4文章)を形態素解析することで得た単語列に含まれる単語、並びに、システム文章144(第3文章)の構造化データに含まれる対話行為およびキーワードを素性とする第1素性ベクトルを算出し、算出した第1素性ベクトルと第1重みパラメータとに基づき、ユーザ文章145(第4文章)の対話状態を表現する第1特徴ベクトルを出力する。例えば、第1モデルは、第1重みパラメータを持ち、算出された第1素性ベクトルから第1特徴ベクトルを算出するニューラルネットワークを有する。
また、第2モデルは、第1特徴ベクトルと第2重みパラメータとに基づき、ユーザ文章145(第4文章)に対する応答遅延量を出力する。例えば、第2モデルは、シグモイド回帰を出力とするニューラルネットワークモデル、SVM(Support Vector Machine)モデルまたはナイーブベイズ分類器を用いる。
学習部112は、第2モデルにより出力される応答遅延量と、学習用データ1011に含まれる応答遅延量146との間の誤差に基づいて、第1重みパラメータおよび第2重みパラメータを誤差逆伝搬法で更新することにより、学習用データ1011を用いて所定モデルに学習させる。なお、学習部112は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータで読み取り可能なプログラムを実行することで実現される。
図4は、実施の形態1に係る学習部112の詳細構成の一例を示すブロック図である。
学習部112は、図4に示すように、形態素解析部1121と、素性ベクトル算出部1122と、対話状態算出部1123と、応答遅延推定部1124と、重み更新部1125とを備える。
≪形態素解析部1121≫
形態素解析部1121は、取得部111で取得されたユーザ文章145において自然言語で意味を持つ最小単位である形態素を解析して、形態素を単語とする単語列に変換する。
本実施の形態では、形態素解析部1121は、取得部111で取得されたユーザ文章145の各々を、単語に分割することで単語列に変換する。形態素解析部1121は、日本語のユーザ文章145には、例えばMeCabなどの形態素解析ソフトを用いて、この処理を実現することができる。形態素解析部1121は、例えば「昨日魚を食べたので、」というユーザ文章145を、「昨日」、「魚」、「を」、「食べ」、「た」、「ので」、「、」に分割する。なお、形態素解析部1121は、英語のユーザ文章145に対しては、半角スペースを単語区切りとすることで、この処理を実現することができる。
≪素性ベクトル算出部1122≫
素性ベクトル算出部1122は、形態素解析部1121で得られた単語列と、システム意図143に含まれる対話行為とキーワードとを、各素性として表現した文ベクトル表現である素性ベクトルに変換する。
素性ベクトルへの変換方法としては、文章に単語が含まれているかどうかのみを考え、単語の並び方などは考慮しないBag-of-wordsモデルを利用する方法がある。Bag-of-wordsモデルを利用すると、例えば、入力として想定される全ての素性のリスト(以降、辞書とも呼ぶ)に基づき、各素性が存在する場合のみ要素値を1と表現することで素性ベクトルに変換することができる。つまり、素性ベクトルは、辞書に含まれる全ての単語、対話行為およびキーワードを要素として含み、1または0で表現される。
≪対話状態算出部1123≫
対話状態算出部1123は、所定のモデルに含まれる第1モデルを用いて、素性ベクトル算出部1122で算出された素性ベクトルから、対話状態を示す第1特徴ベクトルを算出する。
本実施の形態では、対話状態算出部1123は、第1モデルを用いて、素性ベクトル算出部1122で算出された素性ベクトルと第1重みパラメータとに基づき、対話状態を示す第1特徴ベクトルを算出する。第1モデルは、第1素性ベクトルから第1特徴ベクトルを算出可能な、シグモイド回帰を出力とする1つのニューラルネットワークモデルであってもよい。
≪応答遅延推定部1124≫
応答遅延推定部1124は、所定のモデルに含まれる第2モデルを用いて、対話状態算出部1123により算出された第1特徴ベクトルから、ユーザ文章145に対する応答遅延量を推定する。
本実施の形態では、応答遅延推定部1124は、第2モデルを用いて、対話状態算出部1123により算出された第1特徴ベクトルと第2重みパラメータとに基づき、ユーザ文章145に対する応答遅延量(0もしくは1)の確率分布を示す事後確率を算出する。
第2モデルは、シグモイド回帰、SVMモデルもしくは、ナイーブベイズ分類器といった確率モデルである。また、第2モデルは、第1特徴ベクトルから当該応答遅延量が推定可能な、シグモイド回帰を出力とする1つのニューラルネットワークモデルであってもよい。
≪重み更新部1125≫
重み更新部1125は、応答遅延推定部1124により推定される応答遅延量と、学習用データ1011に含まれる応答遅延量146との間の誤差に基づいて、所定のモデルの第1重みパラメータおよび第2重みパラメータを更新する。
図3を用いて説明すると、重み更新部1125は、学習対象の訓練データ141において、応答遅延推定部1124により算出された応答遅延量の事後確率と、当該訓練データ141に含まれるデータID142が付された応答遅延量146で示される真値とに基づいて、誤差逆伝搬法により所定のモデルの第1重みパラメータおよび第2重みパラメータを適した数値に更新する。つまり、重み更新部1125は、当該事後確率と、真値との予測誤差が最小となるように第1重みパラメータおよび第2重みパラメータを更新する。なお、重み更新部1125は、当該予測誤差が減らなくなった場合に、予測誤差が最小と判断して更新を終了すればよい。
このようにして、学習部112は、算出された応答遅延量の事後確率と、訓練データ141で示されるデータID142が付された真値である応答遅延量146が示す値との間で、誤差最小化学習を行うことにより学習処理を実行する。
また、学習部112は、学習処理終了時の第1重みパラメータおよび第2重みパラメータ(学習パラメータ)を学習結果情報1131として記憶部113に記憶する。
[発話継続判定装置12]
次に、発話継続判定装置12の詳細構成について説明する。
発話継続判定装置12は、図1等に示すように、対話取得部121と、推定部122と、記憶部123と、状況取得部124と、判定部125とを備える。
<記憶部123>
記憶部123は、応答遅延推定結果1231、ユーザ状況情報1232および発話継続判定結果1233を記憶する。記憶部123は、例えば、ハードディスクドライブまたはソリッドステートドライブ等の書き換え可能な不揮発性のメモリーで構成される。なお、ユーザ状況情報1232および発話継続判定結果1233の詳細については後述する。
<対話取得部121>
対話取得部121は、ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、第1文章に続いてユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する。
本実施の形態では、対話取得部121は、記憶装置10に記憶されている対話データ102を取得する。対話データ102には、システムの発話文と当該発話文の応答を示すユーザの発話文とが複数含まれている。なお、対話取得部121は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
図5は、実施の形態1に係る対話データ102の一例を示す図である。図5に示す対話データ102は、日本語による献立相談についての対話を示す発話データを有している。
対話データ102は、図5に示すように、データID182が付与された、システム意図183とシステム文章184とユーザ文章185とを含んでいる。また、対話データ102は、データID182が付与されたシステム意図183~ユーザ文章185を1以上含む発話データ181を有する。換言すると、発話データ181は、対話データ102に含まれ、発話継続判定の対象となるデータである。図5に示す例では、データID182が1であるシステム意図183とシステム文章184とユーザ文章185とを発話データ181としている。
データID182は、発話データ181を一意に特定するための識別子である。また、データID182は、システム意図183~ユーザ文章185の内容を一意に特定するために用いられる。
システム文章184は、システム文章144と同様に、システムによる1発話の文章を示す1発話文のテキストデータである。より具体的には、システム文章184は、ユーザに対してシステムにより発話された発話文のテキストデータであり、第1文章の一例である。ユーザ文章185は、ユーザ文章145と同様に、ユーザによる1発話の文章を示す1発話文のテキストデータである。より具体的には、ユーザ文章185は、システム文章184に続いてユーザにより発話された発話文のテキストデータであり、第2文章の一例である。
システム意図183は、システム意図143と同様に、システム文章184が示す意図を構造化したデータ(構造化データ)である。
なお、対話データ102は、外部から入力された複数の発話文に基づき生成される。例えば、まず、システムが出力したシステム文章184と、システム文章184に対応づけられたシステム意図183と、当該システム文章184に対して入力されたユーザ文章185とを得る。次に、これらのシステム意図183とシステム文章184とユーザ文章185に対して、一意のデータID182を付与する。複数の発話文の1単位すなわち1発話は、例えば、テキストチャットシステムによる入力の場合、相手に一度に送信したテキストである。また、音声対話システムによる入力の場合、音声認識のトリガとなる連続する無音区間の発生までの認識結果である。
また、対話データ102は、発話継続判定装置12の外部にある記憶装置10に保存されている場合に限らず、発話継続判定装置12が外部から入力されたユーザの発話文に基づき生成してもよい。つまり、対話データ102は、発話継続判定装置12が生成してもよいし、他装置が生成してもよい。
図5に示す例において、対話取得部121は、データID182が例えば1を示す発話データ181を発話継続の判定対象とした場合には、システム意図183「YESNO質問<中華>」と、システム文章184「中華でいいですか?」と、ユーザ文章185「中華料理を食べたばかりなので、」とを取得する。換言すると、対話取得部121は、発話継続の判定対象となる発話データ181すなわち第1時刻におけるシステム文章184と、当該第1時刻に続く第2時刻であって、システム文章184に続いてユーザに発話されたユーザ文章185と、システム文章が示す意図を構造化したデータである構造化データとを対話データ102として取得する。
<推定部122>
推定部122は、学習処理装置11により機械学習されることで得た学習結果情報1131を反映した所定のモデルに、対話データを適用することにより、第2文章に対する応答の待ち時間を示す応答遅延量を推定する。
より具体的には、推定部122は、記憶部113に記憶されている学習結果情報1131を反映させた所定のモデルを用いて、推定対象のユーザ文章185に対する待ち時間を示す応答遅延量を推定する。この所定のモデルは、学習部112で用いられたものと同一構造のものである。また、推定部122は、推定した応答遅延量を応答遅延推定結果1231として記憶部123に記憶する。
なお、推定部122は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
図6は、実施の形態1に係る推定部122の詳細構成の一例を示すブロック図である。図1等と同様の要素には同一の符号を付している。
本実施の形態では、推定部122は、図6に示すように、形態素解析部1221と、素性ベクトル算出部1222と、対話状態算出部1223と、応答遅延推定部1224と、応答遅延決定部1225とを備える。
≪形態素解析部1221≫
形態素解析部1221は、対話取得部121で取得された対話データ102(発話データ181)に含まれるユーザ文章185の形態素を解析して、形態素を単語とする単語に分割することで単語列に変換する。
なお、形態素解析の方法は上述した通りである。
≪素性ベクトル算出部1222≫
素性ベクトル算出部1222は、形態素解析部1221で変換された単語列と、システム意図143に含まれる対話行為とキーワードとを、各素性として表現した文ベクトル表現である素性ベクトルに変換する。
なお、素性ベクトルへの変換方法は上述した通りである。
≪対話状態算出部1223≫
対話状態算出部1223は、学習済みの所定のモデルに含まれる第1モデルを用いて、素性ベクトル算出部1222で算出された素性ベクトルなどから、対話状態を示す第1特徴ベクトルを算出する。本実施の形態では、対話状態算出部1223は、記憶部123が記憶する学習結果情報1131を読み込み、第1モデルの第1重みパラメータに反映させ、素性ベクトル算出部1222で算出された素性ベクトルと、学習済みの第1重みパラメータとに基づき、対話状態を示す第1特徴ベクトルに変換する。
≪応答遅延推定部1224≫
応答遅延推定部1224は、学習済みの所定のモデルに含まれる第2モデルを用いて、対話状態算出部1223で算出された第1特徴ベクトルなどから、ユーザ文章185に対する応答遅延量を推定する。本実施の形態では、応答遅延推定部1224は、記憶部123が記憶する学習結果情報1131を読み込み、第1モデルの第1重みパラメータに反映させ、対話状態算出部1223で算出された第1特徴ベクトルと、学習済みの第2重みパラメータとに基づき、ユーザ文章185に対する応答遅延量(0もしくは1)の確率分布を示す事後確率を算出する。
≪応答遅延決定部1225≫
応答遅延決定部1225は、応答遅延推定部1224により推定された応答遅延量の事後確率に基づき、予測応答遅延量を決定する。応答遅延決定部1225は、決定した予測応答遅延量を応答遅延推定結果1231として記憶部123に記憶する。例えば、応答遅延決定部1225は、事後確率で示される応答遅延量の確率値のうち確率値が高い方を予測応答遅延量と決定し、応答遅延推定結果1231として記憶部123に記憶する。
図7は、実施の形態1に係る応答遅延推定結果1231の一例を示す図である。図5と同様の要素には同一の符号を付している。
図7に示すように、応答遅延推定結果1231は、図5に示す対話データ102に含まれるユーザ文章185それぞれに対する予測応答遅延量192を示す推定結果191を含む。すなわち、各推定結果191は、データID182が付与された、システム意図183と、システム文章184と、ユーザ文章185と、予測応答遅延量192とを含む。ここで、予測応答遅延量192は、応答遅延決定部1225で決定されたものである。例えば、図7において、データID182が1を示す推定結果191では、システム意図183「YESNO質問<中華>」と、システム文章184「中華でいいですか?」と、ユーザ文章185「中華料理を食べたばかりなので、」とに対する予測応答遅延量192「1」が示されている。
<状況取得部124>
状況取得部124は、ユーザの状況を示すユーザ状況情報1232を取得する。本実施の形態では、状況取得部124は、待ち時間が経過するまでの時間に含まれるユーザ状況情報1232を少なくとも取得し、記憶部123に記憶する。ユーザ状況情報1232は、後述する判定部125の発話継続の判定に用いられる。
図8は、実施の形態1に係るユーザ状況情報1232の一例を示す図である。図8に示すように、ユーザ状況情報1232は、データID220と、時刻221と、ユーザ状況222とを含む。
データID220は、図7に示すデータ1D182との対応関係を示している。番号が「1」の項目は、図7における「1」を示すデータID182の待ち時間中のユーザの状況であることを示す。時刻221は、同一番号を示すデータID220においてインクリメントされた時刻を示している。図8に示す例では、時刻221は、待ち時間が5秒である場合に、1秒ごとにインクリメントした時刻を示している。ユーザ状況222は、時刻221が示す時刻におけるユーザの状況を示している。そして、ユーザ状況222は、ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否かを示している。
なお、ユーザ状況222は、テキスト入力欄が選択中か否かを示す場合に限らない。ユーザ状況222は、ユーザの発話を音により入力するための集音部における音声信号が入力中か否かを示してもよいし、ユーザの視線を検出するための視線検出部におけるユーザの視線位置がシステム文章184(第1文章)を提示する提示部を含む装置にあるか否かを示してもよい。また、ユーザ状況222は、ユーザの姿勢を検出するための姿勢検出部におけるユーザの顔方向および体方向がシステム文章184(第1文章)を提示する提示部を含む装置であるか否かを示してもよい。そして、ユーザ状況情報1232は、図8に示すようなユーザ状況222を示す文章に対応する値を示す。この値は、ユーザが発話継続のためになんらかの動作、応答を行っているか否かを示し、例えば0または1であってもよい。もちろん、ユーザ状況情報1232は、ユーザ状況222を示す文章で表現されていてもよい。
<判定部125>
判定部125は、予測応答遅延量192が示す待ち時間におけるユーザ状況情報1232に応じて、ユーザ文章185(第2文章)に続いてユーザの発話文が継続するか否かを判定する。より具体的には、判定部125は、予測応答遅延量192が示す待ち時間が0である場合に、ユーザの発話文が継続しない旨を示す第1判定を行えばよい。一方、判定部125は、予測応答遅延量192が示す待ち時間が0より大きい場合において、当該待ち時間中におけるユーザ状況情報が所定の値を示すとき、ユーザの発話文が継続する旨を示す第2判定を行い、当該待ち時間中におけるユーザ状況情報が当該所定の値でないとき、上記のような第1判定を行う。
図9は、実施の形態1に係る判定部125の詳細構成の一例を示すブロック図である。図1等と同様の要素には同一の符号を付している。
本実施の形態では、判定部125は、図9に示すように、待ち時間生成部1251と、統合判定部1252とを備える。なお、判定部125は、例えば、CPU、ASIC、またはFPGA等のプロセッサで構成され、CPU等のプロセッサが、コンピュータに保持されている、コンピュータ読み取り可能なプログラムを実行することで実現される。
≪待ち時間生成部1251≫
待ち時間生成部1251は、記憶部123に記憶されている応答遅延推定結果1231を取得し、応答遅延推定結果1231が示す待ち時間の有無に応じて、ユーザ文章185に続くシステム文章184の出力を遅延させる。例えば、待ち時間生成部1251は、応答遅延推定結果1231が示す予測応答遅延量が「1」のときには、「待ち状態」への遷移命令を生成して、システム文章を出力するシステムに対して出力する。これにより、待ち時間生成部1251は、例えば5秒など所定の待ち時間が経過するまでユーザ文章185に続くシステム文章184の出力を行わないように当該システムを制御することができる。
≪統合判定部1252≫
統合判定部1252は、推定部122が推定した応答遅延推定結果1231に示される待ち時間の有無と、待ち時間中におけるユーザ状況情報1232に示されるユーザ状況222とに基づいて、ユーザの発話継続の有無を判定する。
例えば、統合判定部1252は、応答遅延推定結果1231に示される待ち時間が0(待ち時間が無い)場合には、ユーザの発話継続はないと判定(第1判定)し、ユーザの発話継続は否である旨を示すフラグメント情報(発話非継続フラグとも称する)を発話継続判定結果1233として記憶部123に記憶する。
また、例えば、統合判定部1252は、応答遅延推定結果1231に示される待ち時間が1または0より大きい場合(つまり待ち時間が有の場合)には、さらに、記憶部123に記憶されている、待ち時間中におけるユーザ状況情報1232を取得する。そして、待ち時間中におけるユーザ状況情報1232が所定の値を示すときには、ユーザの発話継続があると判定(第2判定)し、ユーザの発話継続中である旨を示すフラグメント情報(発話継続フラグとも称する)を発話継続判定結果1233として記憶部123に記憶する。なお、統合判定部1252は、待ち時間中におけるユーザ状況情報1232が所定の値を示さないときには、ユーザの発話継続はないと判定(第1判定)し、発話非継続フラグを発話継続判定結果1233として記憶部123に記憶する。
なお、待ち時間中においてユーザ状況情報1232が示す値が変化する場合には、統合判定部1252は、待ち時間中におけるユーザ状況情報1232が示す値の多数が所定の値を満たすときに、待ち時間中におけるユーザ状況情報1232が所定の値を示すと判定すればよい。図8に示す例では、例えば「1」を示すデータID182において、5秒間の待ち時間中のうち4秒間(時刻221が示す「2」~「5」の間)で、テキスト入力欄が選択中であることを示すユーザ状況であるので、統合判定部1252は、待ち時間中におけるユーザ状況情報1232が所定の値を示すと判定すればよい。
図10は、実施の形態1に係る発話継続判定結果1233の一例を示す図である。図7と同様の要素には同一の符号を付している。
図10に示すように、発話継続判定結果1233は、図7に示す推定結果191に含まれるユーザ文章185に対する発話継続判定232を示す判定結果231を含む。すなわち、各判定結果231は、データID182が付与された、システム意図183と、システム文章184と、ユーザ文章185と、予測応答遅延量192と、発話継続判定232とを含む。ここで、発話継続判定232は、統合判定部1252で判定された判定結果を示し、発話継続フラグを示す値「1」または発話継続フラグを示す値「0」を示している。
[発話継続判定システム1の動作]
次に、以上のように構成された発話継続判定システム1の動作について説明する。
図11は、実施の形態1に係る発話継続判定システム1の動作の概要を示すフローチャートである。
まず、発話継続判定システム1は、コーパス101に含まれる学習用データ1011を用いて、応答文を出力するまでの待ち時間すなわちユーザの発話に対する応答の待ち時間を示す応答遅延量を学習する学習処理を行う(S1)。より具体的には、S1において、学習処理装置11は、まず、記憶装置10に記憶されるコーパス101から学習用データ1011を取得する(S11)。次いで、学習処理装置11は、S11で取得した学習用データ1011を用いて応答遅延量を推定するための所定のモデルの学習を行う(S12)。そして、学習処理装置11は、S11で学習した結果であるモデルの重みなどの学習パラメータを学習結果情報1131として記憶する(S13)。
次に、発話継続判定システム1は、S1の学習処理の結果を用いて、ユーザの発話継続を判定する(S2)。
より具体的には、S2において、まず、発話継続判定装置12は、推定処理を行い、その後、判定処理を行う。すなわち、発話継続判定装置12は、S1の学習処理の結果である学習結果情報1131を読み出し(S21)、所定のモデルに反映させる。次いで、発話継続判定装置12は、記憶装置10が記憶する対話データ102を取得する(S22)。次いで、発話継続判定装置12は、学習結果情報1131を反映させた所定のモデルを用いて、対話データ102に含まれるユーザ文章185に対する予測応答遅延量192を推定する(S23)。次いで、発話継続判定装置12は、ユーザの状況を示すユーザ状況情報1232を取得し(S24)、予測応答遅延量192が示す待ち時間におけるユーザ状況情報1232に応じて、ユーザの発話継続の有無を判定する(S25)。
<学習処理装置11の動作>
次に、学習処理装置11が行う学習処理(S1)の詳細について説明する。
図12は、実施の形態1に係る学習処理の詳細のフローチャートである。図11と同様の要素には同一の符号を付している。以下では、図3等に示す例を用いて説明する。
まず、学習処理装置11は、学習対象である全ての重みパラメータを初期化する(S10)。具体的には、学習処理装置11は、所定モデルに含まれる第1モデルおよび第2モデルの第1重みパラメータおよび第2重みパラメータ(学習パラメータ)を擬似乱数テーブルに基づいて初期化する。
次に、学習処理装置11は、学習用データ1011を取得する(S11)。具体的には、学習処理装置11は、記憶装置10に記憶されるコーパス101に含まれる複数の学習用データ1011のうち一つを取得する。
次に、学習処理装置11は、S11で取得した学習用データ1011を用いて学習を行う(S12)。具体的には、学習処理装置11は、S11で取得した学習用データ1011に含まれる応答遅延量146を教師データとして用いる。学習処理装置11は、所定のモデルに、学習処理対象のユーザ文章145と応答遅延量146との対応付けを当該教師データを用いて学習させる。
より詳細には、図12に示すように、S12において、学習処理装置11は、まず、S11で取得されたユーザ文章145の各々を形態素解析することで単語列に変換する(S121)。
次いで、学習処理装置11は、S121で得られた単語列と、システム意図143に含まれる対話行為とキーワードとを、各素性として表現した素性ベクトルに変換する(S122)。
次いで、学習処理装置11は、所定のモデルを用いて、S122で変換された素性ベクトルから、対話状態を示す第1特徴ベクトルを算出する(S123)。具体的には、学習処理装置11は、所定のモデルに含まれる第1モデルを用いて、S122で変換された素性ベクトルと第1重みパラメータとに基づき、対話状態を示す第1特徴ベクトルを算出する。
次いで、学習処理装置11は、所定のモデルを用いて、S123で算出された第1特徴ベクトルから、ユーザ文章145に対する応答遅延量を推定する(S124)。具体的には、学習処理装置11は、所定のモデルに含まれる第2モデルを用いて、S123で算出された第1特徴ベクトルと、第2重みパラメータとに基づき、ユーザ文章145に対する応答遅延量(0もしくは1)の確率分布を示す事後確率を算出する。
次いで、学習処理装置11は、S124で推定された応答遅延量と、教師データである学習用データ1011に含まれる応答遅延量146とを用いて学習パラメータの更新を行う(S125)。具体的には、学習処理装置11は、S123で算出されたユーザ文章145に対する応答遅延量の事後確率と、学習用データ1011に含まれる応答遅延量146で示される真値(教師データ)となる応答遅延量とに基づいて、当該事後確率と、真値との予測誤差が最小となるように第1および第2重みパラメータを更新する。
次いで、学習処理装置11は、S12の学習処理を終了するか否かを判定する(S126)。S12の学習処理を終了しない場合(S126でNo)、再度、S11に戻り、次のデータID142または別の学習用データ1011を取得して、S12の学習処理を行う。つまり、学習処理装置11は、学習処理対象とする学習用データ1011を変更しながら、学習が収束するまで繰り返し実行する。
一方、学習処理装置11は、学習処理を終了する場合(S126でYes)、学習処理の結果を示す学習結果情報1131を記憶部113に記憶する(S13)。具体的には、学習処理装置11は、学習処理終了時の第1および第2重みパラメータ(学習パラメータ)を学習結果情報1131として記憶部113に記憶する。なお、学習処理装置11は、学習を繰り返しても、誤差が減らなくなった場合に真値との予測誤差が最小として学習処理を終了する。
ここで、例えば、学習処理装置11が図3に示す学習用データ1011に対して学習処理を行う場合について説明する。
学習処理装置11は、データID142が「1」を示し、システム意図143が「YESNO質問<海鮮丼>」と、ユーザ文章145が「昨日魚を食べたので、」とである訓練データ141に対して学習処理を行うとする。この場合、学習処理装置11は、第1モデルを用いて、ユーザ文章145に含まれる単語“ので”および“、”を、重要な特徴として反映した第1特徴ベクトルを算出し、第2モデルを用いて、第1特徴ベクトルから、ユーザ文章145に対する応答遅延量を1と推測するように、重要な特徴と応答遅延量とを対応づける第1および第2重みパラメータを学習する。そして、学習処理装置11は、このような学習処理を、データID142の値が増える毎に、順次行う。
例えば、学習処理装置11が、データID142が「4」を示し、システム意図143が「オープン質問」と、ユーザ文章145が「こんにちは」とである訓練データ141に対して学習処理を行うとする。この場合、学習処理装置11は、第1モデルを用いて、「オープン質問」と“こんにちは”を、重要な特徴として反映した第1特徴ベクトルを算出し、第2モデルを用いて、第1特徴ベクトルから、ユーザ文章145に対する応答遅延量を1と推測するように、重要な特徴と応答遅延量とを対応づける第1および第2重みパラメータを学習する。
なお、学習処理装置11が図7に示すようなシステム意図183およびユーザ文章185を訓練データ141として有する学習用データ1011に対して学習処理を行う場合も同様である。すなわち、学習処理装置11は、データID182が「1」を示し、システム意図183が「YESNO質問<中華>」と、ユーザ文章185が「中華料理を食べたばかりなので、」とである訓練データ141に対して学習処理を行うとする。この場合、学習処理装置11は、第1モデルを用いて、ユーザ文章145に含まれる単語“なので”および“、”を、重要な特徴として反映した第1特徴ベクトルを算出し、第2モデルを用いて、第1特徴ベクトルから、ユーザ文章145に対する応答遅延量を1と推測するように、重要な特徴と応答遅延量とを対応づける第1および第2重みパラメータを学習すればよい。そして、学習処理装置11は、このような学習処理を、データID182の値が増える毎に、順次行えばよい。
<発話継続判定装置12の動作>
次に、発話継続判定装置12が行う発話継続判定の詳細について説明する。
図13は、図11に示す推定処理の詳細を示すフローチャートである。なお、図11と同様の要素には同一の符号を付している。
まず、発話継続判定装置12は、S21において、S1の学習処理の結果である学習結果情報1131を読み出し、所定のモデルに反映させる。より具体的には、発話継続判定装置12は、学習結果情報1131を読み込み、第1モデルの第1重みパラメータおよび第2モデルの第2重みパラメータに反映させる。
次に、発話継続判定装置12は、S22において、記憶装置10に記憶されている対話データ102を取得する。具体的には、図5に示す例で説明すると、発話継続判定装置12は、第1時刻のシステム文章184と、システム文章184に続いてユーザにより発話された、第2時刻のユーザ文章185と、システム文章184が示す意図を構造化したデータである構造化データとを含む対話データ102を取得する。
次に、発話継続判定装置12は、S21で取得された対話データ102の各々を形態素解析することで単語列に変換する(S231)。具体的には、発話継続判定装置12は、S21で取得された発話データ181に含まれるユーザ文章185の各々を、形態素解析して単語に分割することで単語列に変換する。
次に、発話継続判定装置12は、S231で得られた単語列に基づき、素性ベクトルを算出する(S232)。具体的には、発話継続判定装置12は、S121で得られた単語列と、S21で取得された発話データ181のシステム意図183に含まれる対話行為とキーワードとを、各素性として表現した素性ベクトルに変換する。
次に、発話継続判定装置12は、学習済みの所定のモデルを用いて、S232で算出された素性ベクトルから、対話状態を示す第1特徴ベクトルを算出する(S233)。具体的には、発話継続判定装置12は、学習済みの第1モデルを用いて、S232で算出された素性ベクトルと、学習済みの第1重みパラメータとに基づき、対話状態を示す第1特徴ベクトルに算出する。
次に、発話継続判定装置12は、学習済みの所定のモデルを用いて、S233で算出された第1特徴ベクトルに基づいて予測応答遅延量を推定する(S234)。具体的には、発話継続判定装置12は、学習済みの第2モデルを用いて、S233で算出された第1特徴ベクトルと、学習済みの第2重みパラメータとに基づき、ユーザ文章185に対する応答遅延量の確率分布を示す事後確率を算出する。そして、発話継続判定装置12は、S234で得られた応答遅延量の事後確率に基づき、予測応答遅延量192を決定することで、ユーザ文章185に対する予測応答遅延量を推定する。発話継続判定装置12は、予測応答遅延量192を応答遅延推定結果1231として記憶部123に記憶する。
このようにして、発話継続判定装置12は、学習結果情報1131に基づき、対話データ102を所定のモデルに適用することにより、ユーザ文章185に対する予測応答遅延量192を推定することができる。
次に、発話継続判定装置12が行う判定処理について説明する。
図14は、図11に示す判定処理の詳細を示すフローチャートである。なお、図14には、特に図11に示すS25の詳細が示されている。
まず、発話継続判定装置12は、記憶部123に記憶されている応答遅延推定結果1231を読み込み、応答遅延推定結果1231が示す待ち時間を取得する(S251)。
次に、発話継続判定装置12は、S251で取得した待ち時間の有無すなわち待ち時間が0より大きいか否かを判定する(S252)。
発話継続判定装置12は、S252において、待ち時間が0より大きい場合(S252でYes)、記憶部123に記憶されている、待ち時間中におけるユーザ状況情報1232を取得する(S253)。具体的には、発話継続判定装置12は、待ち時間が0より大きい場合、まず、待ち状態に遷移する遷移命令をシステム文章を出力するシステムに対して行う。ここで、当該遷移命令には、待ち時間に対応づけられた例えば5秒などの所定時間または待ち時間が経過するまでユーザ文章185に続くシステム文章184の出力を当該システムに行わない旨を示す命令も含んでいる。そして、発話継続判定装置12は、記憶部123に記憶されている、待ち時間中におけるユーザ状況情報1232を取得する。なお、発話継続判定装置12は、図11に示されるS24のようにユーザ状況情報1232を逐次取得し、記憶部123に記憶しているとしているが、S252の判定時または待ち時間開始時からユーザ状況情報1232を取得し、記憶部123に記憶するとしてもよい。
次に、発話継続判定装置12は、S253で取得した、待ち時間中におけるユーザ状況情報1232が所定の値を示しているかを判定する(S254)。
発話継続判定装置12は、S253において、待ち時間中におけるユーザ状況情報1232が所定の値を示している場合(S254でYes)、ユーザの発話継続があると判定(第2判定)し、発話継続フラグを出力する(S255)。一方、発話継続判定装置12は、S253において、待ち時間中におけるユーザ状況情報1232が所定の値を示さない場合(S254でNo)、ユーザの発話継続がないと判定(第1判定)し、発話非継続フラグを出力する(S256)。
また、S252において、発話継続判定装置12は、待ち時間が0である場合(S252でNo)、ユーザの発話継続がないと判定(第1判定)し、発話非継続フラグを出力する(S256)。
なお、発話継続判定装置12は、上述したように、発話継続フラグまたは発話非継続フラグを発話継続判定結果1233として記憶部123に記憶することで出力する。
ここで、例えば、図15A~図15Cを用いて発話継続判定処理の一態様について説明する。
図15Aおよび図15Bは、実施の形態1に係る第1判定の一態様を説明するための図である。図15Cは、実施の形態1に係る第2判定の一態様を説明するための図である。
図15Aに示す例では、まず、システム(図中でS:)は、システム意図143が「YESNO質問<中華>」であるシステム文章184「中華でいいですか」をユーザに対して出力し、ユーザ(図中でU:)が、ユーザ文章145「いいえ」と応答している。図15Aに示す例では、ユーザがテキスト入力欄に「いいえ」を入力し<enter>を押すことで1発話文を応答している。この場合、発話継続判定装置12は、ユーザ文章145に対して待ち時間なし(待ち時間=0)とする予測応答遅延量192を推定することで第1判定を行い、システムに対して発話非継続フラグを出力している。そして、システムは、発話非継続フラグに従い、ユーザ文章145「いいえ」に続いて(つまり待ち時間なしで)、システム意図143が「確認質問」であるシステム文章184「どんな料理が好きですか」をユーザに対して出力する。
図15Bに示す例では、まず、システムは、図15Aと同様のシステム文章184「中華でいいですか」をユーザに対して出力し、ユーザが、ユーザ文章145「それはいらない」と応答している。図15Bに示す例でも、ユーザがテキスト入力欄に「それはいらない」を入力し<enter>を押すことで1発話文を応答している。この場合、発話継続判定装置12は、ユーザ文章145に対して待ち時間有り(待ち時間>0)とする予測応答遅延量を推定するものの、待ち時間中に取得したユーザ状況情報1232が所定の値を示さないので第1判定を行い、システムに対して発話非継続フラグを出力している。図15Bに示す例では、待ち時間中に取得したユーザ状況情報1232には、ユーザが新たな入力操作をしていないことに対応した所定の値以外の値が示されているからである。そして、システムは、発話非継続フラグに従い、ユーザ文章145「それはいらない」に対する待ち時間の経過後に、システム意図143が「確認質問」であるシステム文章184「どんな料理が好きですか」をユーザに対して出力する。ユーザは、システム文章184「どんな料理が好きですか」に対するユーザ文章145「肉の方がいい」を応答している。
図15Cに示す例では、まず、システムは、図15Aと同様のシステム文章184「中華でいいですか」をユーザに対して出力し、ユーザが、図15Bと同様のユーザ文章145「それはいらない」と応答している。この場合、発話継続判定装置12は、ユーザ文章145に対して待ち時間有り(待ち時間>0)とする予測応答遅延量を推定し、さらに、待ち時間中に取得したユーザ状況情報1232が所定の値を示すので第2判定を行い、システムに対して発話継続フラグを出力している。図15Cに示す例では、待ち時間中に取得したユーザ状況情報1232には、ユーザが入力操作中であることに対応した所定の値が示されているからである。そして、システムは、発話継続フラグに従い、ユーザ文章145「それはいらない」に対する待ち時間の経過後に、システム意図143が「ユーザ発話へのつなぎ」である、システム文章184「うん?」をユーザに対して出力している。システム文章184「うん?」などのつなぎの時間において、ユーザは、入力操作を完了させて、ユーザ文章145「肉料理が食べたい」を応答することができる。
[効果等]
以上のように、本実施の形態によれば、過去のシステムの発話文におけるシステム意図と、過去のシステムの発話文に対するユーザ発話文を含む学習用データを用いて、学習用データに含まれる当該ユーザ発話文に対する応答遅延量を教師データとして、ユーザ発話文と応答遅延量との対応づけを行う学習処理を行う。これにより、システム発話文に続くユーザ発話文から、応答遅延量を精度よく推定できる。
また、本実施の形態によれば、学習処理結果を用いてユーザ発話文に対する応答遅延量の推定を行い、推定した応答遅延量に示される待ち時間中のユーザ状況を用いてユーザの発話継続の有無を判定する。このように、本実施の形態の発話継続判定方法および発話継続判定装置等によれば、ユーザの発話継続の判定を2段階で行うことで、ユーザの発話継続の判定精度を向上できる。
それにより、システム側はユーザ発話内容の聞き逃し等を防ぐことができるので、システムとユーザとの間においてより円滑なインタラクションを可能にすることができる。
(実施の形態2)
次に、実施の形態2として、上述した発話継続判定装置12の利用形態について説明する。
図16は、実施の形態2に係る対話システムの構成の一例を示すブロック図である。この対話システムは、音声認識の機能を有し、スマートフォン等の携帯端末40と、クラウド上に存在するサーバ50とを含む。ユーザは、携帯端末40を介して、音声によりシステムと自然言語による対話を行うことができる。携帯端末40およびサーバ50は、例えば、インターネット等の公衆通信ネットワークを介して接続されている。
<携帯端末40>
携帯端末40は、スマートフォンまたはタブレットなどである。携帯端末40は、文字入力装置401、ユーザ状況取得装置402、信号処理部403、入出力制御部404、通信部405、および、応答実行部406を備える。
文字入力装置401は、文字を入力するための装置である。文字入力装置401は、例えば、キーボード入力された結果を文字列に変換し、その文字列を入出力制御部404に出力する。なお、文字入力装置401は一例であり、マイクを備え、音により入力されたユーザの発話を文字に変換するとしてもよい。
ユーザ状況取得装置402は、ユーザの状況を示すセンサ情報を取得するための装置である。ユーザ状況取得装置402は、例えば、キーボード・マウスなどの操作状態を測定し、その測定結果を含むセンサ情報を信号処理部403に出力する。なお、ユーザ状況取得装置402は、さらに、ユーザの発話を音により入力するためのマイク等の集音部を備え、当該集音部における音声信号が入力されるとしてもよい。また、ユーザ状況取得装置402はさらに、ユーザの視線を検出するためのカメラ等の視線検出部を備え、当該視線検出部におけるユーザの視線位置が携帯端末40の表示部にあるか否かを検知するとしてもよい。また、ユーザ状況取得装置402はさらに、ユーザの姿勢を検出するためのカメラ等の姿勢検出部を備え、当該姿勢検出部におけるユーザの顔方向および体方向が携帯端末40の表示部にあるか否かを検知するとしてもよい。これらの場合、当該表示部は、実施の形態1で説明した提示部に対応し、サーバ50から出力されるシステム文章184(第1文章)を提示(表示)する。
信号処理部403は、ユーザ状況取得装置402が取得したセンサ情報から、ユーザがキーボード・マウスなどを操作中か否かを示すフラグ情報に変換し、そのフラグ情報を入出力制御部404に出力する。
入出力制御部404は、文字入力装置401により入力された文字列を示す信号および信号処理部403により入力されたフラグ情報を示す信号を通信部405に出力する。また、入出力制御部404は、通信部405より受け取った信号を応答実行部406に出力する。
通信部405は、入出力制御部404により入力された信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号をサーバ50(通信部405)に送信する。また、通信部405は、サーバ50より受け取った通信信号を入出力制御部404に出力する。
応答実行部406は、入出力制御部404がサーバ50より受け取った通信信号に示される応答文をモニタに表示する。また、応答実行部406は、入出力制御部404がサーバ50より受け取った信号に示される応答遅延量をもとに、応答遅延量で示される待ち時間中は応答実行部406が「待機中」であることをディプレイ等の表示部に表示する。
<サーバ50>
サーバ50は、通信部501、対話履歴記憶部502、言語理解部503、発話継続判定装置504、対話戦略部505、応答生成部506、および、発話継続通知装置を備える。
通信部501は、携帯端末40からの通信信号を受信する。通信部501は、受信した通信信号から文字列およびフラグ情報を示す信号を取り出して、対話履歴記憶部502に出力する。また、通信部501は、発話継続通知装置507および応答生成部506より受け取った文字列およびフラグ情報を示す信号を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末40(通信部405)に出力する。
対話履歴記憶部502は、取り出された文字列を示す信号を解析することで、ユーザが発話したテキストデータを生成し、データIDおよび現在時刻と対応付けて記録する。また、対話履歴記憶部502は、取り出されたフラグ情報を示す信号を解析することで、ユーザのテキスト入力中か否かを示すユーザ状況情報を生成し、生成したユーザ状況情報とデータIDおよび現在時刻とを対応付けて記録する。また、対話履歴記憶部502は、通信部501が応答生成部506より受け取った応答文およびその意図を、データIDおよび現在時刻と対応付けて記録する。
言語理解部503は、対話履歴記憶部502で生成されたテキストデータを用いて、ユーザ発話文の意図を示す対話行為およびキーワードを推定し、推定結果を出力する。
発話継続判定装置504は、例えば、図1に示す発話継続判定装置12であり、上述した学習処理が既に終了している状態である。発話継続判定装置504は、対話履歴記憶部502で生成されたテキストデータを用いて、上述した対話データ102を生成し、該対話データ102を用いて、予測応答遅延量の推定および発話継続判定を行い、発話継続判定結果1233を対話戦略部505に出力する。また、待ち時間および発話継続フラグの発生を発話継続通知装置507に出力する。
対話戦略部505は、発話継続判定装置504により発話非継続フラグが出力された場合のみ、言語理解部503で推定された対話行為およびキーワードの結果を時系列に保持し、その系列に基づいて、応答すべきシステム側の対話行為およびキーワードを出力する。
応答生成部506は、対話戦略部505から受け取った対話行為に対応する応答文を生成する。通信部501は、生成された応答文を通信可能なフォーマットを持つ通信信号に変換し、得られた通信信号を携帯端末40に送信する。
発話継続通知装置507は、待ち時間および発話継続フラグの発生を受け取ると、待ち時間中である時は、システムがユーザ入力を待っているという旨を通信部501に出力し、発話継続フラグが発生した際は、ユーザに発話を促す応答文を通信部501に出力する。
このように、図16に示されるような対話システムにおいて、サーバ50は、実施の形態1で説明した学習処理が行われた後の発話継続判定装置12等を用いて、ユーザの発話が継続するか否かを適切に判定する。これにより、対話システムは、ユーザの発話の聞き逃しなどを防ぐことができるので、円滑なインタラクションが可能である。
以上、実施の形態に係る発話継続判定装置について説明したが、本開示は、この実施の形態に限定されるものではない。
例えば、上記実施の形態に係る発話継続判定装置に含まれる各処理部は典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、一部または全てを含むように1チップ化されてもよい。
また、集積回路化はLSIに限るものではなく、専用回路または汎用プロセッサで実現してもよい。LSI製造後にプログラムすることが可能なFPGA(Field Programmable Gate Array)、またはLSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサを利用してもよい。
また、本開示は、発話継続判定装置により実行される発話継続判定方法として実現されてもよい。
また、上記各実施の形態において、各構成要素は、専用のハードウェアで構成されるか、各構成要素に適したソフトウェアプログラムを実行することによって実現されてもよい。各構成要素は、CPUまたはプロセッサなどのプログラム実行部が、ハードディスクまたは半導体メモリなどの記録媒体に記録されたソフトウェアプログラムを読み出して実行することによって実現されてもよい。
また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを一つの機能ブロックとして実現したり、一つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
また、フローチャートにおける各ステップが実行される順序は、本開示を具体的に説明するために例示するためのものであり、上記以外の順序であってもよい。また、上記ステップの一部が、他のステップと同時(並列)に実行されてもよい。
以上、一つまたは複数の態様に係る発話継続判定装置について、実施の形態に基づいて説明したが、本開示は、この実施の形態に限定されるものではない。本開示の趣旨を逸脱しない限り、当業者が思いつく各種変形を本実施の形態に施したものや、異なる実施の形態における構成要素を組み合わせて構築される形態も、一つまたは複数の態様の範囲内に含まれてもよい。
本開示は、発話継続判定装置に適用でき、例えば、音声またはテキストによるユーザの発話が継続しているか否かを適切に判定できる。例えば、本開示は、ユーザのタスクを達成するコールセンター、問診対話、または雑談対話など、タスク指向或いは非タスク指向の対話システム装置または対話システム方式に利用可能である。
1、1A 発話継続判定システム
10 記憶装置
11 学習処理装置
11A 学習処理装置部
12、504 発話継続判定装置
12A 発話継続判定装置部
40 携帯端末
50 サーバ
101 コーパス
102 対話データ
111 取得部
112 学習部
113、123 記憶部
121 対話取得部
122 推定部
141 訓練データ
142、182、220 データID
143、183 システム意図
144、184 システム文章
145、185 ユーザ文章
146 応答遅延量
181 発話データ
192 予測応答遅延量
221 時刻
232 発話継続判定
401 文字入力装置
402 ユーザ状況取得装置
403 信号処理部
404 入出力制御部
405、501 通信部
406 応答実行部
502 対話履歴記憶部
503 言語理解部
505 対話戦略部
506 応答生成部
507 発話継続通知装置
1011 学習用データ
1131 学習結果情報
1121、1221 形態素解析部
1122、1222 素性ベクトル算出部
1123、1223 対話状態算出部
1124、1224 応答遅延推定部
1125 重み更新部
1225 応答遅延決定部
1231 応答遅延推定結果
1232 ユーザ状況情報
1233 発話継続判定結果
1251 待ち時間生成部
1252 統合判定部

Claims (9)

  1. 機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定方法であって、
    前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章をカテゴリおよび行為により分類することで得られる前記第1文章の意図の種類を示す対話行為及び前記第1文章に含まれるキーワードで構成される前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得ステップと、
    機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定ステップと、
    前記ユーザが発話継続のための動作を行っている状況か否を示すユーザ状況情報を取得する状況取得ステップと、
    前記応答遅延量が示す前記待ち時間の値と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報が予め定めた状況の少なくとも一に対応する値か否かとより、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定ステップと、を含み、
    前記ユーザ状況情報は、
    (1)前記ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否か、(2)前記ユーザの発話を音により入力するための集音部における音声信号が入力中か否か、(3)前記ユーザの視線を検出するための視線検出部における前記ユーザの視線位置が前記第1文章を提示する提示部を含む装置にあるか否か、および、(4)前記ユーザの姿勢を検出するための姿勢検出部における前記ユーザの顔方向および体方向が前記第1文章を提示する提示部を含む装置であるか否かのうちの少なくとも一に対応する値を示す、
    発話継続判定方法。
  2. 前記判定ステップは、
    前記応答遅延量が示す待ち時間が0である場合に、前記ユーザの発話文が継続しない旨を示す第1判定を行い、
    前記応答遅延量が示す待ち時間が0より大きい場合において、前記待ち時間中における前記ユーザ状況情報が所定の値を示すとき、前記ユーザの発話文が継続する旨を示す第2判定を行い、前記待ち時間中における前記ユーザ状況情報が前記所定の値を示さないとき、前記第1判定を行う、
    請求項に記載の発話継続判定方法。
  3. 前記発話継続判定方法は、さらに、
    ユーザに対して発話された、第3発話文のテキストデータである第3文章と、前記第3文章に続いて当該ユーザにより発話された第4発話文のテキストデータである第4文章と、前記第3文章が示す意図を構造化したデータである構造化データと、前記第4文章に対する応答の待ち時間を示す応答遅延量とを含む学習用データを取得する学習取得ステップと、
    前記学習用データを用いて、前記モデルに、学習させる学習ステップと、
    前記学習ステップにおいて学習した結果を前記学習結果情報として記憶する記憶ステップとを含み、
    前記学習ステップでは、前記学習用データに含まれる前記応答遅延量を教師データとして、前記第4文章と前記応答遅延量との対応付けを学習させる、
    請求項1または2に記載の発話継続判定方法。
  4. 前記モデルは、
    前記第4文章を形態素解析することで得た単語列に含まれる単語、並びに、前記構造化データに含まれる対話行為およびキーワードを素性とする第1素性ベクトルを算出し、算出した前記第1素性ベクトルと第1重みパラメータとに基づき、前記第4文章の対話状態を表現する第1特徴ベクトルを出力する第1モデルと、
    前記第1特徴ベクトルと第2重みパラメータとに基づき、前記第4文章に対する応答遅延量を出力する第2モデルとを含み、
    前記学習ステップでは、前記第2モデルにより出力される前記応答遅延量と、前記学習用データに含まれる前記応答遅延量との間の誤差に基づいて、前記第1重みパラメータおよび前記第2重みパラメータを誤差逆伝搬法で更新することにより、前記学習用データを用いて前記モデルに学習させる、
    請求項に記載の発話継続判定方法。
  5. 前記第1モデルは、
    前記第1重みパラメータを持ち、算出された前記第1素性ベクトルから第1特徴ベクトルを算出するニューラルネットワークを有し、
    前記第2モデルは、
    シグモイド回帰を出力とするニューラルネットワークモデル、SVM(Support Vector Machine)モデルまたはナイーブベイズ分類器を用いる、
    請求項記載の発話継続判定方法。
  6. 前記学習取得ステップでは、
    前記学習用データを、ユーザに対して発話された発話文と、当該発話文が示す意図の構造化データと、当該発話文に続いて当該ユーザにより発話された発話文と、当該ユーザにより発話された発話文に対する応答遅延量とが集積されたコーパスから取得する、
    請求項3~5のいずれか1項に記載の発話継続判定方法。
  7. 前記第3文章が示す意図は、
    前記第3文章をカテゴリおよび行為により分類することで得られる前記第3文章の意図の種類を示す対話行為と、前記第3文章に含まれるキーワードとを含む、
    請求項3~5のいずれか1項に記載の発話継続判定方法。
  8. 機械学習される所定のモデルを用いてユーザの発話継続を判定する発話継続判定装置であって、
    前記ユーザに対して発話された、第1時刻の第1発話文のテキストデータである第1文章と、前記第1文章に続いて前記ユーザにより発話された、第2時刻の第2発話文のテキストデータである第2文章と、前記第1文章をカテゴリおよび行為により分類することで得られる前記第1文章の意図の種類を示す対話行為及び前記第1文章に含まれるキーワードで構成される前記第1文章が示す意図を構造化したデータである構造化データとを含む対話データを取得する対話取得部と、
    機械学習されることで得た学習結果情報を反映した前記モデルに、前記対話データを適用することにより、前記第2文章に対する応答の待ち時間を示す応答遅延量を推定させる推定部と、
    前記ユーザが発話継続のための動作を行っている状況か否を示すユーザ状況情報を取得する状況取得部と、
    前記応答遅延量が示す前記待ち時間の値と、前記応答遅延量が示す前記待ち時間における前記ユーザ状況情報が予め定めた状況の少なくとも一に対応する値か否かとより、前記第2文章に続いて前記ユーザの発話文が継続するか否かを判定する判定部と、を備え、
    前記ユーザ状況情報は、
    (1)前記ユーザの発話をテキストにより入力するためのテキスト入力部におけるテキスト入力欄が選択中か否か、(2)前記ユーザの発話を音により入力するための集音部における音声信号が入力中か否か、(3)前記ユーザの視線を検出するための視線検出部における前記ユーザの視線位置が前記第1文章を提示する提示部を含む装置にあるか否か、および、(4)前記ユーザの姿勢を検出するための姿勢検出部における前記ユーザの顔方向および体方向が前記第1文章を提示する提示部を含む装置であるか否かのうちの少なくとも一に対応する値を示す、
    発話継続判定装置。
  9. 請求項1に記載の発話継続判定方法をコンピュータに実行させる、
    プログラム。
JP2017117084A 2017-06-14 2017-06-14 発話継続判定方法、発話継続判定装置およびプログラム Active JP6998517B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2017117084A JP6998517B2 (ja) 2017-06-14 2017-06-14 発話継続判定方法、発話継続判定装置およびプログラム
US15/989,603 US10789951B2 (en) 2017-06-14 2018-05-25 Speech continuation determination method, speech continuation determination device, and recording medium
CN201810578751.XA CN109086264B (zh) 2017-06-14 2018-06-07 说话继续判定方法、说话继续判定装置以及记录介质
EP18176721.1A EP3416163B1 (en) 2017-06-14 2018-06-08 Speech continuation determination method, speech continuation determination device, and recording medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017117084A JP6998517B2 (ja) 2017-06-14 2017-06-14 発話継続判定方法、発話継続判定装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2019003380A JP2019003380A (ja) 2019-01-10
JP6998517B2 true JP6998517B2 (ja) 2022-01-18

Family

ID=62567551

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017117084A Active JP6998517B2 (ja) 2017-06-14 2017-06-14 発話継続判定方法、発話継続判定装置およびプログラム

Country Status (4)

Country Link
US (1) US10789951B2 (ja)
EP (1) EP3416163B1 (ja)
JP (1) JP6998517B2 (ja)
CN (1) CN109086264B (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107704482A (zh) * 2016-08-09 2018-02-16 松下知识产权经营株式会社 方法、装置以及程序
US10741173B2 (en) * 2018-06-25 2020-08-11 International Business Machines Corporation Artificial intelligence (AI) based voice response system etiquette
CN113646835B (zh) * 2019-04-05 2024-05-28 谷歌有限责任公司 联合自动语音识别和说话人二值化
US20230326456A1 (en) * 2019-04-23 2023-10-12 Mitsubishi Electric Corporation Equipment control device and equipment control method
CN110827821B (zh) * 2019-12-04 2022-04-12 三星电子(中国)研发中心 一种语音交互装置、方法和计算机可读存储介质
US11594224B2 (en) 2019-12-04 2023-02-28 Samsung Electronics Co., Ltd. Voice user interface for intervening in conversation of at least one user by adjusting two different thresholds
CN112466296A (zh) * 2020-11-10 2021-03-09 北京百度网讯科技有限公司 语音交互的处理方法、装置、电子设备及存储介质
CN114679515B (zh) * 2022-05-30 2022-08-30 杭州一知智能科技有限公司 外呼系统的接通时刻点判定方法、装置、设备和存储介质
WO2024073803A1 (en) * 2022-10-05 2024-04-11 Tepy Pty Ltd Soundless speech recognition method, system and device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09269889A (ja) * 1996-04-02 1997-10-14 Sharp Corp 対話装置
JP4667085B2 (ja) 2005-03-11 2011-04-06 富士通株式会社 音声対話システム、コンピュータプログラム、対話制御装置及び音声対話方法
US7865552B2 (en) * 2007-07-24 2011-01-04 Cisco Technology, Inc. Rich-media instant messaging with selective rich media messaging broadcast
CN101247358B (zh) * 2007-11-20 2012-05-09 北京九合创胜网络科技有限公司 一种计算即时通讯有效时间的方法和装置
JP2010277388A (ja) * 2009-05-29 2010-12-09 Nippon Telegr & Teleph Corp <Ntt> 情報提供方法、情報提供システム及び情報提供プログラム
US9141916B1 (en) * 2012-06-29 2015-09-22 Google Inc. Using embedding functions with a deep network
CN104253902A (zh) * 2014-07-21 2014-12-31 宋婉毓 与智能语音设备进行语音交互的方法
JP6097791B2 (ja) 2015-06-19 2017-03-15 日本電信電話株式会社 話題継続願望判定装置、方法、及びプログラム
JP2017049471A (ja) * 2015-09-03 2017-03-09 カシオ計算機株式会社 対話制御装置、対話制御方法及びプログラム
CN105912111B (zh) * 2016-04-06 2018-11-09 北京地平线机器人技术研发有限公司 人机交互中的结束语音对话的方法及语音识别装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Antoine Raux 他1名,Optimizing Endpointing Thresholds using Dialogue Features in a Spoken Dialogue System,Proceedings of the 9th SIGdial Workshop on Discourse and Dialogue[online],Association for Computational Linguistics,2008年,1-10頁,https://dl.acm.org/doi/abs/10.5555/1622064.1622066,(検索日:令和3年4月15日)

Also Published As

Publication number Publication date
JP2019003380A (ja) 2019-01-10
US20180366120A1 (en) 2018-12-20
US10789951B2 (en) 2020-09-29
EP3416163B1 (en) 2020-02-26
EP3416163A1 (en) 2018-12-19
CN109086264B (zh) 2024-04-02
CN109086264A (zh) 2018-12-25

Similar Documents

Publication Publication Date Title
JP6998517B2 (ja) 発話継続判定方法、発話継続判定装置およびプログラム
US10453454B2 (en) Dialog system with self-learning natural language understanding
US10991366B2 (en) Method of processing dialogue query priority based on dialog act information dependent on number of empty slots of the query
KR20190004495A (ko) 챗봇을 이용한 태스크 처리 방법, 장치 및 시스템
US20170084274A1 (en) Dialog management apparatus and method
US10395641B2 (en) Modifying a language conversation model
JP6832501B2 (ja) 意味生成方法、意味生成装置及びプログラム
US11270683B2 (en) Interactive system, apparatus, and method
US20200219487A1 (en) Information processing apparatus and information processing method
JPWO2008001486A1 (ja) 音声処理装置およびプログラム、並びに、音声処理方法
EP3857544B1 (en) Speaker awareness using speaker dependent speech model(s)
EP2988298B1 (en) Response generation method, response generation apparatus, and response generation program
KR20190064314A (ko) 지능형 대화 에이전트를 위한 대화 태스크 처리 방법 및 그 장치
US11990124B2 (en) Language model prediction of API call invocations and verbal responses
CN116583837A (zh) 用于自然语言处理的基于距离的logit值
JP6629172B2 (ja) 対話制御装置、その方法及びプログラム
WO2014176489A2 (en) A system and method for supervised creation of personalized speech samples libraries in real-time for text-to-speech synthesis
TWI776296B (zh) 語音應答系統和語音應答方法
JP2019109424A (ja) 計算機、言語解析方法、及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200520

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210415

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210427

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210621

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20211124

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20211201

R151 Written notification of patent or utility model registration

Ref document number: 6998517

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151