(57)【要約】【課題】次発話として相応しい発話をシステムが返すことにより、システムとユーザとのインタラクションが円滑になる。【解決手段】学習手段２２が、対話情報の集合を入力として、各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、各フラグと対応する素性ベクトルとの組の集合から、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成する。そして、判定手段２６が、発話列を入力とし、該発話列から学習手段２２で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、分類モデルを参照して、該素性ベクトルに対応するフラグを判定する。【選択図】図１
2017010207.tif 000002
【特許請求の範囲】
【請求項１】
システムとユーザとの間の対話における発話の列と、該列における各ユーザ発話に対しあらかじめ付与された、該ユーザ発話の後、該ユーザが直前のシステム発話の話題を継続する願望を持っているか否かを示すフラグの列とを含む対話情報の集合を入力として、各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、各フラグと対応する素性ベクトルとの組の集合から、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成する学習手段と、
発話列を入力とし、該発話列から学習手段で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、前記分類モデルを参照して、該素性ベクトルに対応するフラグを判定する判定手段と
を含むことを特徴とする話題継続願望判定装置。
【請求項２】
前記学習手段と前記判定手段で用いる素性値は、発話中の単語や単語n-gramの頻度、または、発話中の単語の意味カテゴリの頻度、または、発話に対応する概念ベクトルの各要素値、または、発話中の文末表現の有無、または、発話中のポジティブ表現やネガティブ表現の頻度、または、発話中の文字数、または、発話中の文字種の字数、または、発話に対応する対話行為の有無、または、発話間の類似度、または、同一話題の連続出現回数、または、発話から抽出される他の任意の素性の値であることを特徴とする
請求項１記載の話題継続願望判定装置。
【請求項３】
学習手段及び判定手段を含む話題継続願望判定装置における話題継続願望判定方法であって、
前記学習手段が、システムとユーザとの間の対話における発話の列と、該列における各ユーザ発話に対しあらかじめ付与された、該ユーザ発話の後、該ユーザが直前のシステム発話の話題を継続する願望を持っているか否かを示すフラグの列とを含む対話情報の集合を入力として、各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、各フラグと対応する素性ベクトルとの組の集合から、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成するステップと、
前記判定手段が、発話列を入力とし、該発話列から学習手段で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、前記分類モデルを参照して、該素性ベクトルに対応するフラグを判定するステップと
を含むことを特徴とする
話題継続願望判定方法。
【請求項４】
前記学習手段と前記判定手段で用いる素性値は、発話中の単語や単語n-gramの頻度、または、発話中の単語の意味カテゴリの頻度、または、発話に対応する概念ベクトルの各要素値、または、発話中の文末表現の有無、または、発話中のポジティブ表現やネガティブ表現の頻度、または、発話中の文字数、または、発話中の文字種の字数、または、発話に対応する対話行為の有無、または、発話間の類似度、または、同一話題の連続出現回数、または、発話から抽出される他の任意の素性の値であることを特徴とする
請求項３記載の話題継続願望判定方法。
【請求項５】
コンピュータを、請求項１又は請求項２に記載の話題継続願望判定装置を構成する各手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザとの間で対話を行う対話システムにおいて、ユーザ発話の後、ユーザが該ユーザ発話の直前のシステム発話の話題を継続したがっているか否かを判定するための話題継続願望判定装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
一般に対話における発話には、その内容の対象となっている事物を表す焦点が存在する。図５のシステム発話とユーザ発話のカラムは、対話を行っているシステムとユーザの発話列を示すもので、最初の行から順に各行において、システム発話・ユーザ発話の順で発話がされたことを示す。各行の焦点は、一つ前の行のユーザ発話までの発話列からシステムが抽出した焦点を表している。焦点抽出は、ルールベースないし機械学習の手法を用いて行う。システムは、この抽出した焦点について言及した文を、発話知識データから選択ないし生成して、該文を次発話として発する。当該行のシステム発話が、この次発話である。
【０００３】
以下の非特許文献１の手法は、上記に述べたようなやり方を取っている。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】東中竜一郎, “雑談対話システムに向けた取り組み,” 人工知能研資, Vol.SIG-SLUD-70, pp.65-70, Mar. 2014.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
上記で述べた、焦点に基づいて発されたシステム発話の話題が、ユーザにとって継続したい場合と、したくない場合がある。図５の１〜３行目のユーザ発話を見ると、ユーザは直前のシステム発話の話題を継続したがっている。しかし、４〜５行目のユーザ発話を見ると、ユーザは直前のシステム発話の話題を継続したがっていない。６行目のユーザ発話を見ると、ユーザは直前のシステム発話の話題に興味を持ち、継続したがっている。
【０００６】
ユーザが直前のシステム発話の話題を継続したがっている場合は、システムは、同じ話題を継続するか、あるいは、適宜、話題を変更するのがよいと言える。一方、ユーザが直前のシステム発話の話題を継続したがっていない場合は、システムは、話題を必ず変更する必要がある。このように、システムが適切な発話を行うには、ユーザが直前のシステム発話の話題を継続したがっているか否かの情報が必要となる。
【０００７】
しかしながら現状の対話技術においては、ユーザが直前のシステム発話の話題を継続したがっているか否かを判定する機構がない。このため、ユーザが直前のシステム発話の話題を継続したがっていないにも関わらず、同じ話題を継続することがあり、対話に対するユーザの満足度が低いものとなる。これを解決するため、常に定期的に（例えば２、３システム発話ごとに）話題を変更する処置を取っても、今度は、ユーザが直前のシステム発話と同じ話題を継続したがっている場合でも、話題が変わってしまい、対話に対するユーザの満足度が低いものとなることは解決されない。このように、適切な発話戦略を取ることができないため、対話に対するユーザの満足度が低いという課題がある。
【０００８】
本発明は、上記課題を解決するためのものであり、ユーザが直前のシステム発話の話題を継続したがっているか否かを判定することができる話題継続願望判定装置、方法、及びプログラムを提供することを目的としている。
【課題を解決するための手段】
【０００９】
上記課題を解決するため、第１の発明に係る話題継続願望判定装置は、システムとユーザとの間の対話における発話の列と、該列における各ユーザ発話に対しあらかじめ付与された、該ユーザ発話の後、該ユーザが直前のシステム発話の話題を継続する願望を持っているか否かを示すフラグの列とを含む対話情報の集合を入力として、各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、各フラグと対応する素性ベクトルとの組の集合から、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成する学習手段と、発話列を入力とし、該発話列から学習手段で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、前記分類モデルを参照して、該素性ベクトルに対応するフラグを判定する判定手段とを含むことを特徴とする。
【００１０】
また第２の発明に係る話題継続願望判定方法は、学習手段及び判定手段を含む話題継続願望判定装置における話題継続願望判定方法であって、前記学習手段が、システムとユーザとの間の対話における発話の列と、該列における各ユーザ発話に対しあらかじめ付与された、該ユーザ発話の後、該ユーザが直前のシステム発話の話題を継続する願望を持っているか否かを示すフラグの列とを含む対話情報の集合を入力として、各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、各フラグと対応する素性ベクトルとの組の集合から、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成するステップと、判定手段が、発話列を入力とし、該発話列から学習手段で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成し、前記分類モデルを参照して、該素性ベクトルに対応するフラグを判定するステップとを含むことを特徴とする。
【００１１】
また、上記の前記学習手段と前記判定手段で用いる素性値は、発話中の単語や単語n-gramの頻度、または、発話中の単語の意味カテゴリの頻度、または、発話に対応する概念ベクトルの各要素値、または、発話中の文末表現の有無、または、発話中のポジティブ表現やネガティブ表現の頻度、または、発話中の文字数、または、発話中の文字種の字数、または、発話に対応する対話行為の有無、または、発話間の類似度、または、同一話題の連続出現回数、または、発話から抽出される他の任意の素性の値であることを特徴とする。
【００１２】
また、本発明のプログラムは、コンピュータを、上記の話題継続願望判定装置を構成する各手段として機能させるためのプログラムである。
【００１３】
本発明により、判定手段の入力となる発話列Ａに対し、学習手段の入力となった学習データにおいて、傾向がＡと類似した発話列に対応するフラグが判定結果となるので、適切な判定結果を得ることが可能となる。
【発明の効果】
【００１４】
本発明により、ユーザが直前のシステム発話の話題を継続したがっているか否かを判定することができ、次発話として相応しい発話をシステムが返すことにより、システムとユーザとのインタラクションが円滑になるという効果を奏する。
【図面の簡単な説明】
【００１５】
【図１】本発明の実施の形態に係る話題継続願望判定装置の機能的構成を示すブロック図である。
【図２】素性ベクトルと対応するフラグの一例を示す図である。
【図３】本発明の実施の形態に係る話題継続願望判定装置の学習処理ルーチンを示すフローチャート図である。
【図４】本発明の実施の形態に係る話題継続願望判定装置の判定処理ルーチンを示すフローチャート図である。
【図５】対話情報の集合の一例を示す図である。
【発明を実施するための形態】
【００１６】
以下、図面とともに本発明の実施の形態を説明する。
【００１７】
＜本発明の実施の形態に係る話題継続願望判定装置の構成＞
【００１８】
本発明の第１の実施の形態に係る話題継続願望判定装置の構成について説明する。図１は、本発明の話題継続願望判定装置の構成例である。図１に示すように、本発明の実施の形態に係る話題継続願望判定装置１００は、ＣＰＵと、ＲＡＭと、後述する学習処理ルーチン及び判定処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。この話題継続願望判定装置１００は、機能的には図１に示すように入力手段１０と、演算手段２０と、出力手段３０とを備えている。
【００１９】
入力手段１０は、システムとユーザとの間の対話における発話の列と、該列における各ユーザ発話に対しあらかじめ付与された、該ユーザ発話の後、該ユーザが直前のシステム発話の話題を継続する願望を持っているか否かを示すフラグの列とを含む対話情報の集合を入力として受け付ける。上記図５のシステム発話とユーザ発話とフラグのカラムが、そのような対話情報の一例である。フラグは、ユーザが直前のシステム発話の話題を継続する願望を持っている場合、１とし、持っていない場合、０とする。このフラグは、人が発話列の内容を見て付与するものである。フラグを、発話列中の一部のユーザ発話に対してのみ付与するというようにしてもよい。また、入力手段１０は、最後がユーザ発話である発話列を受け付ける。
【００２０】
演算手段２０は、学習手段２２と、分類モデル記憶部２４と、判定手段２６とを含んで構成されている。
【００２１】
学習手段２２では、入力手段１０によって受け付けられた対話情報の集合の各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成する。
【００２２】
以下、素性とその素性値の種類の例を述べる。素性は、種類が異なれば、同じ素性文字列でも別物として扱う。
【００２３】
例えば、素性として発話中の単語を、素性値としてその頻度を取ることができる。また、対象発話として、該フラグに対応するユーザ発話や、その直前のシステム発話等を取ることができ、異なる発話中の同一素性は別物とすることもできる。このことは、以降の説明で述べる他の素性についても同様である。
【００２４】
上記図５の１行目のユーザ発話を対象としたとき、（素性：素性値）として、（ラーメン：１）、（が：１）、（好き：１）、（です：１）が取れる。素性の個数は、学習手段２２の入力となるデータ中のユーザ発話に出現する単語の異なりの総数であり、３行目のユーザ発話に出現する単語「思う」は一素性であるが、１行目のユーザ発話に対しては、この素性「思う」に対する（素性：素性値）は（思う：０）となる。以後の説明において、素性値が０の（素性：素性値）は、断りが無い限り、明示しないものとする。また、（ラーメン：１）、（好き：１）のように、内容語のみを素性として取ることもできる。
【００２５】
素性として発話中の単語n-gramを、素性値としてその頻度を取ることができる。n=2としたとき、上記図５の１行目のユーザ発話から、（素性：素性値）として、（ラーメン／が：１）、（が／好き：１）、（好き／です：１）が取れる。
【００２６】
素性として発話中の単語の意味カテゴリを、素性値としてその頻度を取ることができる。ここで、意味カテゴリとは、類義する単語を一つのカテゴリとしてまとめ上げたものを意味している。例えば、「ラーメン」の意味カテゴリが「麺類」で、「好き」の意味カテゴリが「＋評価」であったとき、上記図５の1行目のユーザ発話から、（素性：素性値）として、（麺類：１）、（＋評価：１）が取れる。
【００２７】
素性として発話に対応する概念ベクトルの各要素を、素性値としてその要素値を取ることができる。ここで概念ベクトルとは、例えば、非特許文献２の手法によって生成する単語概念ベクトルを用いて、対象発話中の単語の単語概念ベクトルを合成して得られるものである。
【００２８】
[非特許文献２]別所克人, 内山俊郎, 内山匡, 片岡良治, 奥雅博,“単語・意味属性間共起に基づくコーパス概念ベースの生成方式,”情報処理学会論文誌, Dec. 2008, Vol.49, No.12, pp.3997-4006.
【００２９】
素性として発話中の文末表現を、素性値としてその有無（有る場合：１、無い場合：０）を取ることができる。ここで、文末表現とは、文末部分の付属語等を連結して得られる文字列である。（素性：素性値）として、上記図５の１行目のユーザ発話から、（です：１）が取れ、２行目のユーザ発話から、（だよ：１）が取れる。
【００３０】
素性として発話中のポジティブ表現やネガティブ表現の文字列を、素性値としてその頻度を取ることができる。上記図５の１行目のユーザ発話からは、「好き」がポジティブ表現の文字列なので、（素性：素性値）として、（好き：１）が取れる。また、素性を「ポジティブ表現」と「ネガティブ表現」とし、素性値を、各表現に属する発話中文字列の頻度の和としてもよい。この場合、上記図５の１行目のユーザ発話からは、（素性：素性値）として、（ポジティブ表現：１）が取れる。
【００３１】
また、素性値として発話中の文字数を取ることができる。上記図５の１行目のユーザ発話からは、（素性：素性値）として、（文字数：９）が取れる。
【００３２】
素性として発話中の文字種を、素性値としてその文字種の字数を取ることができる。上記図５の１行目のユーザ発話からは、（素性：素性値）として、（ひらがな：４）、（カタカナ：４）、（漢字：１）が取れる。
【００３３】
これまでに説明した素性の種類の中で、単語、単語n-gram、単語意味カテゴリ、ポジティブ・ネガティブ表現（及びその文字列）、発話中の文字種については、それぞれの素性の種類において、各素性の素性値として、該素性に対応する頻度を、全素性に対応する頻度の総和に占める割合としてもよい。例えば、発話中の文字種については、上記図５の１行目のユーザ発話からは、（素性：素性値）として、（ひらがな：４／９）、（カタカナ：４／９）、（漢字：１／９）が取れる。
【００３４】
素性として発話に対応する対話行為を、素性値としてその有無（有る場合：１、無い場合：０）を取ることができる。ここで、発話の対話行為とは、その発話をした話者の発話意図であり、あらかじめ一定個数のものを定めておく。対象発話としては、該フラグに対応するユーザ発話までの一定個数の発話を取る。例えば、対象発話を、該フラグに対応するユーザ発話までの２個の発話（即ち該ユーザ発話とその直前のシステム発話）とする。各発話に対し、機械学習等の手法を用いて、対応する対話行為を導出する。（素性：素性値）として、上記図５の１行目のシステム発話から、（質問_評価：１）が取れ、１行目のユーザ発話から、（自己開示_評価＋：１）が取れる。
【００３５】
素性値として、該フラグに対応するユーザ発話までの発話列中のある２発話（例えば、該ユーザ発話とその直前のシステム発話）の間の類似度を取ることができる。発話間の類似度は、各発話に対応するベクトルの間の余弦測度等を取ることができる。ここで、発話に対応するベクトルとして、これまでに説明した素性と素性値の組の集合である、単語頻度ベクトル、または、単語n-gram頻度ベクトル、または、単語意味カテゴリ頻度ベクトル、または、概念ベクトル等を取ることができる。あるいは発話間の類似度を、各発話から抽出された焦点集合の間に交わりが有る場合、１とし、無い場合、０とするというようにしてもよい。
【００３６】
素性値として、該フラグに対応するユーザ発話までの、システム発話あるいはユーザ発話において、直近の発話に至るまで、同一の話題が連続して出現した回数を取ることができる。話題としては、発話から抽出された焦点を取ることができる。システム発話に対してであれば、該システム発話を選定する基となった焦点（上記図５の焦点カラムの値）を取ることもできる。この場合、上記図５の６行目のフラグに対しては、直近のシステム発話に至るまで、同一焦点（「ラーメン」）が連続して出現した回数は５となる。同一の話題と認定する他のやり方として、各発話の概念ベクトル等の話題ベクトルと、直近の発話の話題ベクトルとの類似度が、ある閾値以上ならば、該発話群の話題は同一であるとするやり方も考えられる。
【００３７】
その他、該フラグに対応するユーザ発話までの発話列から抽出される任意の素性とその素性値を、以降の処理に利用することができる。
【００３８】
学習手段２２は、上記に述べた素性の種類の中で、いくつかの種類の素性とその素性値の組の集合である素性ベクトルを、各フラグに対し生成する。図２は、各フラグと対応する素性ベクトルとの組の集合の例である。
【００３９】
次に、学習手段２２は、各フラグを分類カテゴリとみなし、各フラグと対応する素性ベクトルとの組の集合から、サポートベクタマシン等の分類アルゴリズムを用いて、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成する。そして、学習手段２２は、生成された分類モデルを分類モデル記憶部２４に格納する。
【００４０】
分類モデル記憶部２４には、学習手段２２によって生成された分類モデルが格納される。
【００４１】
判定手段２６は、入力手段１０によって受け付けられた、最後がユーザ発話である発話列を入力とし、該発話列から学習手段２２で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成する。そして、分類モデル記憶部２４に格納された前記分類モデルを参照して、該素性ベクトルに対応するフラグを判定する。判定結果のフラグが１であれば、ユーザは直前のシステム発話の話題を継続したがっていると推定し、判定結果のフラグが０であれば、ユーザは直前のシステム発話の話題を継続したがっていないと推定する。
【００４２】
出力手段３０は、判定手段２６によって得られた判定結果を出力する。
【００４３】
＜話題継続願望判定装置の作用＞
図３は、話題継続願望判定装置１００の学習処理フローの一例である。図３に沿って、話題継続願望判定装置１００の学習処理の処理内容を説明する。
【００４４】
まず、ステップＳ１００において、入力手段１０は、対話情報の集合を受け付ける。
【００４５】
ステップＳ１０２において、学習手段２２は、上記ステップＳ１００で受け付けた対話情報の集合の各対話情報中の各フラグに対し、該フラグに対応する発話までの発話列から、あらかじめ定めた素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成する。
【００４６】
ステップＳ１０４において、学習手段２２は、各フラグを分類カテゴリとみなし、上記ステップＳ１０２で生成された、各フラグと対応する素性ベクトルとの組の集合から、サポートベクタマシン等の分類アルゴリズムを用いて、任意の素性ベクトルに対応するフラグを判定するための分類モデルを生成する。
【００４７】
ステップＳ１０６において、学習手段２２は、上記ステップＳ１０４で生成された分類モデルを分類モデル記憶部２４に格納し、学習処理ルーチンを終了する。
【００４８】
図４は、話題継続願望判定装置１００の判定処理フローの一例である。図４に沿って、話題継続願望判定装置１００の判定処理の処理内容を説明する。
【００４９】
ステップＳ２００において、入力手段１０は、最後がユーザ発話である発話列を受け付ける。
【００５０】
ステップＳ２０２において、判定手段２６は、上記ステップＳ２００で受け付けた発話列から学習手段２２で用いた各素性に対する素性値を抽出して、素性とその素性値の組の集合である素性ベクトルを生成する。
【００５１】
ステップＳ２０４において、判定手段２６は、分類モデル記憶部２４に格納された分類モデルを参照して、上記ステップＳ２０２で生成された素性ベクトルに対応するフラグを判定する。
【００５２】
ステップＳ２０６において、出力手段３０は、上記ステップＳ２０４で得られた判定結果を出力して、判定処理ルーチンを終了する。
【００５３】
これまで述べた処理をプログラムとして構築し、当該プログラムを通信回線または記録媒体からインストールし、ＣＰＵ等の手段で実施することが可能である。
【００５４】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内において、種々変更・応用が可能である。
【産業上の利用可能性】
【００５５】
本発明は、システムとユーザとの円滑なインタラクションを実現する対話処理技術に適用可能である。
【符号の説明】
【００５６】
１０ 入力手段
２０ 演算手段
２２ 学習手段
２４ 分類モデル記憶部
２６ 判定手段
３０ 出力手段
１００ 話題継続願望判定装置
【図１】
2017010207.tif 000003
【図２】
2017010207.tif 000004
【図３】
2017010207.tif 000005
【図４】
2017010207.tif 000006
【図５】
2017010207.tif 000007