(57)【要約】【課題】多様な対話を継続する。【解決手段】ユーザとの間で対話を行う情報処理システムであって、前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、を有する情報処理システムが提供される。【選択図】図１
2018072560.tif 000002
【特許請求の範囲】
【請求項１】
ユーザとの間で対話を行う情報処理システムであって、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、
を有する情報処理システム。
【請求項２】
生成された前記トピックデータを記憶する記憶部と、
前記発話から前記意図が抽出されなかった場合、抽出された前記コンテキストに応じたトピックデータを前記記憶部から取得する取得部と、を有し、
前記発話生成部は、
取得された前記トピックデータの実施状況に応じて、発話内容を生成する、請求項１に記載の情報処理システム。
【請求項３】
前記取得部は、
前記ユーザとの間で対話を行っていない場合、現在の日付に応じたトピックデータを前記記憶部から取得する、請求項２に記載の情報処理システム。
【請求項４】
ユーザとの間で対話を行う情報処理装置であって、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、
を有する情報処理装置。
【請求項５】
ユーザとの間で対話を行うコンピュータに、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出し、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成し、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する、
処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置及び情報処理方法に関する。
【背景技術】
【０００２】
ユーザと対話を行う対話システムが知られている。このような対話システムでは、例えば、ユーザからの発話に対して予め登録された応答を行ったり、予め決められたシナリオに従った発話をユーザに対して行ったりすることで、ユーザとの対話を実現している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００１−１８８７８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、上記の従来技術では、例えば、人間同士が対話を行うように、新たな話題（トピック）を取り入れながら対話を行うことが困難であった。このため、対話システムをある程度の期間利用していくと、対話システムからの応答がパターン化してしまい、ユーザが対話に飽きてしまうことがあった。
【０００５】
開示の技術は、多様な対話を継続することを目的としている。
【課題を解決するための手段】
【０００６】
開示の技術は、ユーザとの間で対話を行う情報処理システムであって、前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、を有する。
【発明の効果】
【０００７】
多様な対話を継続することができる。
【図面の簡単な説明】
【０００８】
【図１】第一の実施形態に係る対話システムにおける対話の一例を説明する図（１／２）である。
【図２】第一の実施形態に係る対話システムにおける対話の一例を説明する図（２／２）である。
【図３】第一の実施形態に係る対話システムを実現するコンピュータの一例のハードウェア構成を示す図である。
【図４】第一の実施形態に係る対話システムの機能構成の一例を示す図である。
【図５】トピックデータの詳細な構成の一例を示す図である。
【図６】第一の実施形態に係る対話時における全体処理の一例を示すフローチャートである。
【図７】第一の実施形態に係る新規トピックの生成処理の一例を示すフローチャートである。
【図８】第一の実施形態に係るトピックの選択処理（対話時）の一例を示すフローチャートである。
【図９】第一の実施形態に係るトピックの優先付け処理の一例を示すフローチャートである。
【図１０】第一の実施形態に係る発話内容の生成及び出力処理の一例を示すフローチャートである。
【図１１】第二の実施形態に係る対話システムにおける閑話時の発話の一例を説明する図である。
【図１２】第二の実施形態に係る対話システムの機能構成の一例を示す図である。
【図１３】第二の実施形態に係る閑話時における全体処理の一例を示すフローチャートである。
【図１４】第二の実施形態に係るトピックの選択処理（閑話時）の一例を示すフローチャートである。
【図１５】第三の実施形態に係る対話システムにおいて、アプリからの通知によりトピックを更新する場合の一例を説明する図である。
【図１６】第三の実施形態に係る対話システムの機能構成の一例を示す図である。
【図１７】第三の実施形態に係る対話時における全体処理の一例を示すフローチャートである。
【図１８】第三の実施形態に係るアプリ連携処理の一例を示すフローチャートである。
【発明を実施するための形態】
【０００９】
以下、本発明の実施形態について添付の図面を参照しながら説明する。
【００１０】
［第一の実施形態］
まず、本実施形態に係る対話システム１００における対話について、図１及び図２を参照しながら説明する。図１及び図２は、第一の実施形態に係る対話システム１００における対話の一例を説明する図である。
【００１１】
本実施形態に係る対話システム１００は、ユーザからの発話に応じて、この発話内容に対する応答を発話することで、ユーザとの間で対話を行う情報処理装置（コンピュータ）又は情報処理システムである。本実施形態に係る対話システム１００には、例えば、スマートフォンやタブレット端末、携帯電話、ＰＣ（パーソナルコンピュータ）、ロボット等に内蔵される組み込み型のコンピュータ等を用いることができる。
【００１２】
図１及び図２に示すように、本実施形態に係る対話システム１００は、ユーザの発話から意図やコンテキストを抽出する音声解析処理部１１０と、意図やコンテキストからトピック（話題）の生成や選択等を行うトピック管理処理部１２０とを有する。また、本実施形態に係る対話システム１００は、選択されたトピックから発話内容を生成する対話生成処理部１３０と、トピックを示すデータ（トピックデータ）１０００を記憶するトピックＤＢ（データベース）２１０とを有する。
【００１３】
ここで、ユーザの発話には、意図が含まれる発話と、意図が含まれない発話とが存在する。意図とは、ユーザが未来に行うことを所望若しくは予定している内容、又はユーザが未来に行う必要があると認識している内容のことである。意図には、例えば、「○○をしたい」や「○○をしようかな」等の願望（例えば、「ＡＢＣ公園に行きたい」等）と、「○○をしなくちゃ」や「○○をする必要がある」等の義務（例えば、「部屋の掃除をしなくちゃ」等）とが含まれる。
【００１４】
また、コンテキストとは、ユーザの発話に含まれる場所や人、時期、時間、動作の完了等のことである。
【００１５】
図１に示すように、本実施形態に係る対話システム１００は、例えば「ネモフィラきれいだなー。見に行きたいなー。」等の発話Ｄ１１をユーザが行った場合、音声解析処理部１１０により、この発話Ｄ１１に含まれる意図（「ネモフィラを見たい」）を抽出する。次に、本実施形態に係る対話システム１００は、トピック管理処理部１２０により、抽出された意図に対応するラベル「ネモフィラを見る」と、このラベルが示す内容の実施状況「継続中」とを含むトピックデータ１０００を生成して、トピックＤＢ２１０に格納する。
【００１６】
ここで、ラベルとは、意図を端的に表す情報（例えば、意図が「ネモフィラを見たい」の場合、ラベルは「ネモフィラを見る」となる。）のことである。また、実施状況とは、ラベルが示す内容（例えば「ネモフィラを見る」）の実施の状況のことである。実施状況には、例えば、ラベルが示す内容を未だ実施していないことを示す「継続中」、ラベルが示す内容の実施が完了したことを示す「実施完了」、ラベルが示す内容を実施しない（又は実施できない）ことを示す「不実施」等がある。
【００１７】
なお、トピックデータ１０００は、ラベル及び実施状況の他に、ラベルが示す内容が実施される場所及び時期、ラベルが示す内容をユーザと一緒に実施する人等の情報が含まれる。以降では、トピックデータ１０００に含まれるデータ項目のうち、実施状況や場所、時期、人等の情報を格納するデータ項目のことを「スロット」とも称する。なお、トピックデータ１０００の詳細な構成については後述する。
【００１８】
そして、本実施形態に係る対話システム１００は、対話生成処理部１３０により、場所や人、時期等を示すスロットを埋めるための発話内容を生成して、ユーザに対して発話内容を発話（出力）する。その後、本実施形態に係る対話システム１００は、トピック管理処理部１２０により、ユーザへの発話に対する応答の発話からトピックデータ１０００を更新する。
【００１９】
すなわち、本実施形態に係る対話システム１００は、例えば、場所を示すスロットを埋めるための発話内容「どこで見られますか？」を生成して、この発話内容を出力することで、発話Ｄ１２を行う。そして、本実施形態に係る対話システム１００は、例えば、ユーザから「ＡＢＣ公園だよ。」との応答の発話Ｄ１３があった場合、トピックデータ１０００の場所を示すスロットを「ＡＢＣ公園」に更新する。
【００２０】
同様に、本実施形態に係る対話システム１００は、対話生成処理部１３０により、時期を示すスロットを埋めるための発話内容「いつ行きますか？」を生成して、この発話内容を出力することで、発話Ｄ１４を行う。そして、本実施形態に係る対話システム１００は、例えば、ユーザから「来年の４月頃かな。」との応答の発話Ｄ１５があった場合、トピックデータ１０００の時期を示すスロットを、「来年の４月」を示す「２０１６年４月」に更新する。
【００２１】
このように、本実施形態に係る対話システム１００は、意図を含む発話をユーザが行った場合、この意図からトピックデータ１０００を生成して、トピックＤＢ２１０で管理する。また、本実施形態に係る対話システム１００は、トピックデータ１０００を生成した場合、このトピックデータ１０００のスロット（場所や人、時期等）を埋めるための発話をユーザに対して行う。
【００２２】
なお、図１に示す例では、ユーザの発話に含まれる意図に対応するラベルのトピックデータ１０００がトピックＤＢ２１０に格納されていない場合（すなわち、ユーザが、新たな意図を含む発話を行った場合）について説明した。ユーザの発話に含まれる意図に対応するラベルのトピックデータ１０００がトピックＤＢ２１０に既に格納されている場合は、後述する図２に示す例と同様に、この発話から抽出されたコンテキストに応じたトピックデータ１０００がトピックＤＢ２１０から選択される。
【００２３】
図２に示すように、本実施形態に係る対話システム１００は、例えば「今日は出張でＡＢＣ公園の近くを通ったんだ。」等の発話（意図を含まない発話）Ｄ２１をユーザが行った場合、音声解析処理部１１０により、この発話Ｄ２１のコンテキストを抽出する。次に、本実施形態に係る対話システム１００は、トピック管理処理部１２０により、抽出されたコンテキストに応じたトピックデータ１０００をトピックＤＢ２１０から選択する。
【００２４】
なお、コンテキストに応じたトピックデータ１０００とは、例えば、コンテキストとして場所「ＡＢＣ公園」が抽出された場合、場所を示すスロットに「ＡＢＣ公園」が設定されているトピックデータ１０００のことである。
【００２５】
そして、本実施形態に係る対話システム１００は、対話生成処理部１３０により、選択されたトピックデータ１０００の空きスロットを埋めるための発話内容や実施状況を更新するための発話内容等を生成して、ユーザに対して発話内容を発話（出力）する。その後、本実施形態に係る対話システム１００は、トピック管理処理部１２０により、ユーザへの発話に対する応答の発話からトピックデータ１０００を更新する。なお、空きスロットとは、情報が設定されていないスロット（又はブランクやＮＵＬＬ値が設定されているスロット）のことである。
【００２６】
すなわち、本実施形態に係る対話システム１００は、例えば、選択されたトピックデータ１０００から発話内容「そういえば来年の４月頃にＡＢＣ公園にネモフィラを見に行きたいと言ってましたね。誰と行きますか？」を生成する。そして、本実施形態に係る対話システム１００は、この発話内容を出力することで、発話Ｄ２２を行う。その後、本実施形態に係る対話システム１００は、例えば、ユーザから「そうだった。乙さんを誘ってみよう。」との応答の発話Ｄ２３があった場合、トピックデータ１０００の人を示すスロットを「乙さん」に更新する。
【００２７】
このように、本実施形態に係る対話システム１００は、意図を含まない発話をユーザが行った場合、この発話から抽出されるコンテキストに応じたトピックデータ１０００をトピックＤＢ２１０から選択する。そして、本実施形態に係る対話システム１００は、選択したトピックデータ１０００のスロットや実施状況等を更新するための発話をユーザに対して行う。
【００２８】
以上のように、本実施形態に係る対話システム１００では、「○○をしたい」や「○○をしようかな」等の意図を含む発話から新たな話題（トピック）を立ち上げて、このトピックを示すトピックデータ１０００をトピックＤＢ２１０で管理する。そして、本実施形態に係る対話システム１００は、ユーザが行った発話のコンテキストから過去のトピックデータ１０００を選択して、このトピックデータ１０００のスロットや実施状況等を更新するための発話をユーザに対して行う。
【００２９】
したがって、本実施形態に係る対話システム１００は、ユーザが様々な意図を含む発話を行うことにより、様々なトピック（話題）について、ユーザと対話を行うことができるようになる。このため、ユーザは、飽きることなく、長期的に多様な対話を継続することができるようになる。
【００３０】
また、本実施形態に係る対話システム１００は、ユーザの発話から抽出されたコンテキストに応じたトピック（話題）について、ユーザとの間で対話を行うため、例えば、過去のユーザの意図（例えば、「○○に行きたい」）を思い出させることもできるようになる。
【００３１】
なお、図１及び図２に示す対話システム１００の構成は、一例であって、他の構成であっても良い。例えば、対話システム１００が一台の情報処理装置で実現されている場合、音声解析処理部１１０、トピック管理処理部１２０、対話生成処理部１３０及びトピックＤＢ２１０は、当該一台の情報処理装置が有していても良い。一方で、例えば、対話システム１００が複数台の情報処理装置で実現されている場合、音声解析処理部１１０、トピック管理処理部１２０、対話生成処理部１３０及びトピックＤＢ２１０を、それぞれ同一又は異なる情報処理装置が有していても良い。
【００３２】
次に、本実施形態に係る対話システム１００を実現するコンピュータ３００のハードウェア構成について、図３を参照しながら説明する。図３は、第一の実施形態に係る対話システム１００を実現するコンピュータ３００の一例のハードウェア構成を示す図である。本実施形態に係る対話システム１００は、例えば、１以上のコンピュータ３００により実現される。
【００３３】
図３に示すように、コンピュータ３００は、入力装置３０１と、表示装置３０２と、外部Ｉ／Ｆ３０３と、通信Ｉ／Ｆ３０４と、ＲＯＭ（Read  Only  Memory）３０５とを有する。また、コンピュータ３００は、ＲＡＭ（Random  Access  Memory）３０６と、ＣＰＵ（Central  Processing  Unit）３０７と、記憶装置３０８と、音声入力装置３０９と、音声出力装置３１０とを有する。これら各ハードウェアは、それぞれがバスＢで相互に接続されている。
【００３４】
入力装置３０１は、例えば各種ボタンやタッチパネル、キーボード、マウス等であり、コンピュータ３００に各種の操作信号を入力するのに用いられる。表示装置３０２は、例えばディスプレイ等であり、コンピュータ３００による各種の処理結果を表示する。なお、コンピュータ３００は、入力装置３０１及び表示装置３０２の少なくとも一方を有していなくても良い。
【００３５】
外部Ｉ／Ｆ３０３は、外部装置とのインタフェースである。外部装置には、記録媒体３０３ａ等がある。コンピュータ３００は、外部Ｉ／Ｆ３０３を介して、記録媒体３０３ａの読み取り及び／又は書き込みを行うことができる。
【００３６】
なお、記録媒体３０３ａには、例えば、ＳＤメモリカード(SD  memory  card）やＵＳＢメモリ、ＣＤ（Compact  Disk）、ＤＶＤ（Digital  Versatile  Disk）等がある。
【００３７】
通信Ｉ／Ｆ３０４は、コンピュータ３００をネットワークに接続するためのインタフェースである。コンピュータ３００は、通信Ｉ／Ｆ３０４を介して、他のコンピュータ３００等と通信を行うことができる。
【００３８】
ＲＯＭ３０５は、電源を切ってもデータを保持することができる不揮発性の半導体メモリである。ＲＡＭ３０６は、プログラムやデータを一時保持する揮発性の半導体メモリである。ＣＰＵ３０７は、例えば記憶装置３０８やＲＯＭ３０５等からプログラムやデータをＲＡＭ３０６上に読み出して、各種処理を実行する演算装置である。
【００３９】
記憶装置３０８は、例えばＨＤＤ（Hard  Disk  Drive）やＳＳＤ（solid  state  drive）等であり、プログラムやデータを格納している不揮発性のメモリである。記憶装置３０８に格納されるプログラムやデータには、例えば、本実施形態を実現するプログラムや基本ソフトウェアであるＯＳ（Operating  System）、ＯＳ上で動作する各種アプリケーション等がある。
【００４０】
音声入力装置３０９は、例えばマイクロフォン等であり、ユーザからの発話等の音声を入力する。音声出力装置３１０は、例えばスピーカ等であり、対話システム１００からの発話等の音声を出力する。
【００４１】
本実施形態に係る対話システム１００は、図３に示すコンピュータ３００により、後述する各種処理が実現される。
【００４２】
次に、本実施形態に係る対話システム１００の機能構成について、図４を参照しながら説明する。図４は、第一の実施形態に係る対話システム１００の機能構成の一例を示す図である。
【００４３】
図４に示すように、対話システム１００の音声解析処理部１１０は、音声入力受付部１１１と、音声認識部１１２と、解析部１１３とを有する。音声解析処理部１１０は、対話システム１００にインストールされた１以上のプログラムが、ＣＰＵ３０７に実行させる処理により実現される。
【００４４】
音声入力受付部１１１は、ユーザからの発話（音声）の入力を受け付ける。音声認識部１１２は、音声入力受付部１１１が入力を受け付けた音声の音声認識を行って、例えば、音声をテキストに変換する。解析部１１３は、音声認識部１１２による音声認識の結果を解析して、意図とコンテキストとを抽出する。
【００４５】
すなわち、解析部１１３は、例えば、音声が変換されたテキストに対して、形態素解析や意味解析等の自然言語処理を行うことにより、意図（例えば、「○○をしたい」や「○○をする必要がある」等）と、コンテキスト（例えば、場所や人、時期等）とを抽出する。
【００４６】
対話システム１００のトピック管理処理部１２０は、トピック生成部１２１と、トピック選択部１２２と、選択中トピック管理部１２３とを有する。トピック管理処理部１２０は、対話システム１００にインストールされた１以上のプログラムが、ＣＰＵ３０７に実行させる処理により実現される。
【００４７】
トピック生成部１２１は、解析部１１３により抽出された意図からトピックデータ１０００を生成する。すなわち、トピック生成部１２１は、解析部１１３により抽出された意図に対応するラベルと、実施状況「継続中」とが含まれるトピックデータ１０００を生成する。なお、トピック生成部１２１は、解析部１１３により抽出された意図と同一の意図から生成されたトピックデータ１０００がトピックＤＢ２１０に既に格納されている場合には、トピックデータ１０００の生成を行わない。
【００４８】
そして、トピック生成部１２１は、生成したトピックデータ１０００をトピックＤＢ２１０に格納する。
【００４９】
トピック選択部１２２は、トピック生成部１２１により生成されたトピックデータ１０００又は解析部１１３により抽出されたコンテキストに対応するトピックデータ１０００を、トピックＤＢ２１０に格納されているトピックデータ１０００の中から選択する。
【００５０】
すなわち、トピック選択部１２２は、ユーザの発話からトピックデータ１０００が生成された場合、この生成されたトピックデータ１０００を選択する。一方、トピック選択部１２２は、ユーザの発話からトピックデータ１０００が生成されなかった場合、この発話から抽出されたコンテキストに対応するトピックデータ１０００を、トピックＤＢ２１０に格納されているトピックデータ１０００の中から選択する。
【００５１】
以降では、トピック選択部１２２により選択されたトピックデータ１０００を「選択中トピックデータ１０００」とも表す。
【００５２】
選択中トピック管理部１２３は、トピック選択部１２２により選択されたトピックデータ１０００（選択中トピックデータ１０００）を管理する。すなわち、選択中トピック管理部１２３は、例えば、選択中トピックデータ１０００を識別する識別情報（後述するトピックＩＤ）を所定の記憶領域で保持することにより、選択中トピックデータ１０００を管理する。また、選択中トピック管理部１２３は、例えば、ユーザとの間で対話がなされずに所定の時間が経過した場合、選択中トピックデータ１０００の識別情報を所定の記憶領域から削除する。
【００５３】
また、選択中トピック管理部１２３は、ユーザからの応答の発話等に応じて、選択中トピックデータ１０００の更新を行う。
【００５４】
すなわち、選択中トピック管理部１２３は、ユーザの発話等に応じて、選択中トピックデータ１０００の空きスロットに情報（例えば、場所や人、時期等）を設定することで、選択中トピックデータ１０００を更新する。また、選択中トピック管理部１２３は、ユーザの発話等に応じて、選択中トピックデータ１０００のスロットの情報を更新（例えば、実施状況を「継続中」から「実施完了」に更新）する。
【００５５】
対話システム１００の対話生成処理部１３０は、発話内容生成部１３１と、発話内容出力部１３２とを有する。対話生成処理部１３０は、対話システム１００にインストールされた１以上のプログラムが、ＣＰＵ３０７に実行させる処理により実現される。
【００５６】
発話内容生成部１３１は、トピック選択部１２２により選択された選択中トピックデータ１０００から発話内容を生成する。すなわち、発話内容生成部１３１は、例えば、選択中トピックデータ１０００の空きスロットを埋めるための発話内容を生成する。
【００５７】
発話内容出力部１３２は、発話内容生成部１３１により生成された発話内容を、音声により出力する。発話内容出力部１３２により発話内容が出力されることで、対話システム１００は、ユーザに対する発話を行うことができる。なお、発話内容出力部１３２は、発話内容を音声により出力する場合に限られず、例えば、発話内容を示すテキストを表示（出力）しても良い。
【００５８】
対話システム１００のトピックＤＢ２１０は、トピックデータ１０００を格納する。トピックＤＢ２１０は、例えば記憶装置３０８を用いて実現可能である。トピックＤＢ２１０は、例えば、対話システム１００とネットワークを介して接続される記憶装置等を用いて実現されていても良い。なお、以降では、トピックＤＢ２１０に格納されている複数のトピックデータ１０００について、それぞれを区別するときは、「トピックデータ１０００−１」、「トピックデータ１０００−２」、「トピックデータ１０００−３」等と表す。
【００５９】
ここで、トピックＤＢ２１０に格納されているトピックデータ１０００の詳細について、図５を参照しながら説明する。図５は、トピックデータ１０００の詳細な構成の一例を示す図である。
【００６０】
図５に示すように、トピックＤＢ２１０には、例えば、トピックデータ１０００−１、トピックデータ１０００−２、トピックデータ１０００−３等の１以上のトピックデータ１０００が格納されている。
【００６１】
これらのトピックデータ１０００は、データ項目として、トピックＩＤと、生成日時と、更新日時と、ラベルと、実施状況と、場所と、人と、時期と、選択回数と、関連とを有する。なお、上述したように、これらのデータ項目のうち、例えば、実施状況や場所、人、時期等のデータ項目は「スロット」とも称される。また、これらに加えて、関連等のデータ項目が「スロット」と称されても良い。なお、これらスロットのうち、場所を示すスロット、人を示すスロット及び時期を示すスロットを、特に、「必須スロット」とも表す。
【００６２】
トピックＩＤは、トピックデータ１０００を識別する識別情報である。生成日時は、トピックデータ１０００が生成された日時である。更新日時は、トピックデータ１０００が更新された日時（すなわち、トピックデータ１０００の少なくとも１つのデータ項目が更新された日時）である。
【００６３】
ラベルは、ユーザの発話に含まれる意図を端的に表す情報である。実施状況は、ラベルが示す内容の実施の状況のことである。実施状況には、例えば、ラベルが示す内容を未だ実施していないことを示す「継続中」、ラベルが示す内容の実施が完了したことを示す「実施完了」、ラベルが示す内容を実施しないことを示す「不実施」等がある。
【００６４】
場所は、ラベルが示す内容が実施される場所の情報である。人は、ラベルが示す内容をユーザと一緒に実施する人の情報である。時期は、ラベルが示す内容を実施する時期の情報である。
【００６５】
選択回数は、トピックデータ１０００がトピック選択部１２２により選択された回数の情報である。関連は、トピックデータ１０００に関連する種々の付随的な情報である。なお、トピックデータ１０００には、例えば、トピックデータ１０００がトピック選択部１２２により選択された頻度の情報が設定されるデータ項目「頻度」を有していても良い。
【００６６】
このように、トピックＤＢ２１０に格納されているトピックデータ１０００には、ラベルや実施状況、場所、人、時期等のデータ項目（スロット）が含まれる。これにより、本実施形態に係る対話システム１００は、ユーザとの間における対話の話題（トピック）の実施状況や実施する場所、人、時期等を管理することができる。
【００６７】
なお、本実施形態では、トピックデータ１０００は互いに独立であるものとして説明するが、トピックデータ１０００同士が関係付けられていても良い。例えば、ラベル「海外旅行に行く」のトピックデータ１０００と、ラベル「アメリカ旅行に行く」のトピックデータ１０００とが親子関係となるようにトピックＤＢ２１０に格納されていても良い。これにより、関係する話題（トピック）を関係付けてトピックＤＢ２１０に管理することができる。
【００６８】
次に、本実施形態に係る対話システム１００の処理の詳細について説明する。以降では、本実施形態に係る対話システム１００の対話時における全体処理について、図６を参照しながら説明する。図６は、第一の実施形態に係る対話時における全体処理の一例を示すフローチャートである。図６に示す対話時おける全体処理は、例えば、ユーザの発話（音声）が入力される毎に行われる。
【００６９】
まず、音声解析処理部１１０の音声入力受付部１１１は、ユーザからの発話（音声）の入力を受け付ける（ステップＳ６０１）。
【００７０】
次に、音声解析処理部１１０の音声認識部１１２は、音声入力受付部１１１が入力を受け付けた音声の音声認識を行う（ステップＳ６０２）。すなわち、音声認識部１１２は、音声認識技術により、音声入力受付部１１１が入力を受け付けた音声を、例えば、テキストに変換する。
【００７１】
次に、音声解析処理部１１０の解析部１１３は、音声認識部１１２による音声認識の結果を解析して、意図とコンテキストとを抽出する（ステップＳ６０３）。すなわち、解析部１１３は、例えば、音声が変換されたテキストに対して、種々の自然言語処理を行うことにより、意図とコンテキストとを抽出する。
【００７２】
例えば、音声が変換されたテキストが「明日、乙さんとＡＢＣ公園に行きたい。」であったとする。この場合、解析部１１３により抽出される意図は、「ＡＢＣ公園に行きたい」となる。また、解析部１１３により抽出されるコンテキストは、時期を示す「明日」、人を示す「乙さん」、場所を示す「ＡＢＣ公園」、動作を示す「行く」となる。
【００７３】
また、例えば、音声が変換されたテキストが「昨日、乙さんとＡＢＣ公園に行った。」であったとする。この場合、解析部１１３により意図は抽出されない（すなわち、ユーザの発話に意図は含まれない。）。一方、解析部１１３により抽出されるコンテキストは、時期を示す「昨日」、人を示す「乙さん」、場所を示す「ＡＢＣ公園」、動作を示す「行く」となる。更に、このとき、解析部１１３は、「行った」から動作の完了を抽出する。
【００７４】
次に、トピック管理処理部１２０の選択中トピック管理部１２３は、選択中トピックデータ１０００があるか否かを判定する（ステップＳ６０４）。すなわち、選択中トピック管理部１２３は、例えば、選択中トピックデータ１０００のトピックＩＤが所定の記憶領域に記憶されているか否かを判定する。
【００７５】
ステップＳ６０４において、選択中トピックデータ１０００がないと判定された場合、トピック管理処理部１２０のトピック生成部１２１は、解析部１１３により意図が抽出されたか否かを判定する（ステップＳ６０５）。
【００７６】
ステップＳ６０５において、意図が抽出されたと判定された場合、トピック管理処理部１２０のトピック生成部１２１は、新規トピックの生成処理を行う（ステップＳ６０６）。
【００７７】
ここで、新規トピックの生成処理の詳細について、図７を参照しながら説明する。図７は、第一の実施形態に係る新規トピックの生成処理の一例を示すフローチャートである。
【００７８】
まず、トピック生成部１２１は、解析部１１３により抽出された意図と同一の意図から生成されたトピックデータ１０００がトピックＤＢ２１０に格納されているか否かを判定する（ステップＳ７０１）。
【００７９】
すなわち、例えば、解析部１１３により抽出された意図が「ＡＢＣ公園に行きたい」であったとする。この場合、トピック生成部１２１は、この意図に対応するラベル「ＡＢＣ公園に行く」を含むトピックデータ１０００がトピックＤＢ２１０に格納されているか否かを判定する。
【００８０】
ここで、意図に対応するラベルとは、例えば、意図に含まれる動詞を原形（終止形）にしたものである。例えば、意図が「ＡＢＣ公園に行きたい」や「掃除をしなくちゃ」等である場合、ラベルは、それぞれ「ＡＢＣ公園に行く」や「掃除をする」等とすれば良い。
【００８１】
ステップＳ７０１において、同一の意図から生成されたトピックデータ１０００がトピックＤＢ２１０に格納されていない場合、トピック生成部１２１は、トピックデータ１０００を生成する（ステップＳ７０２）。
【００８２】
すなわち、トピック生成部１２１は、解析部１１３により抽出された意図に対応するラベルと、実施状況「継続中」とを含むトピックデータ１０００を生成する。このとき、トピック生成部１２１は、解析部１１３により抽出されたコンテキストを、このコンテキストに対応するスロットに設定する。例えば、ユーザの発言が「明日、ＡＢＣ公園に行きたい」等である場合、トピック生成部１２１は、時期を示すスロットに明日の日付を設定する。同様に、例えば、ユーザの発言が「明日、乙さんとＡＢＣ公園に行きたい」等である場合、トピック生成部１２１は、時期を示すスロットに明日の日付を設定すると共に、人を示すスロットに乙さんを設定する。
【００８３】
更に、このとき、トピック生成部１２１は、トピックＩＤを示すデータ項目にトピックデータ１０００を識別する識別情報を設定すると共に、生成日時を示すデータ項目にトピックデータ１０００を生成した日時を設定する。
【００８４】
なお、トピック生成部１２１は、例えば、場所、人、時期等を示すスロットを空きスロットとしても良い。
【００８５】
次に、トピック生成部１２１は、生成したトピックデータ１０００をトピックＤＢ２１０に格納する（ステップＳ７０３）。これにより、新規トピックのトピックデータ１０００がトピックＤＢ２１０に格納される。なお、トピック生成部１２１は、トピックデータ１０００の生成を行った場合、例えば、このトピックデータ１０００を生成したことを示すフラグ（新規トピック生成フラグ）を「１」に更新する。
【００８６】
一方、ステップＳ７０１において、同一の意図から生成されたトピックデータ１０００がトピックＤＢ２１０に格納されている場合、トピック生成部１２１は、処理を終了する。この場合、トピックデータ１０００は生成されない。
【００８７】
図６に戻る。ステップＳ６０５において、意図が抽出されなかったと判定された場合、又はステップＳ６０６に続いて、トピック管理処理部１２０のトピック選択部１２２は、トピックの選択処理（対話時）を行う（ステップＳ６０７）。すなわち、トピック選択部１２２は、上記のステップＳ６０６で生成されたトピックデータ１０００又は解析部１１３により抽出されたコンテキストに対応するトピックデータ１０００を、トピックＤＢ２１０に格納されているトピックデータ１０００から選択する。
【００８８】
ここで、トピックの選択処理（対話時）の詳細について、図８を参照しながら説明する。図８は、第一の実施形態に係るトピックの選択処理（対話時）の一例を示すフローチャートである。
【００８９】
まず、トピック選択部１２２は、新規トピックのトピックデータ１０００が生成されたか否かを判定する（ステップＳ８０１）。すなわち、トピック選択部１２２は、図７に示す新規トピックの生成処理において、トピックデータ１０００が生成されたか否かを判定する。これは、トピック選択部１２２は、例えば、新規トピック生成フラグが「１」であるか否かを判定すれば良い。
【００９０】
ステップＳ８０１において、新規トピックのトピックデータ１０００が生成されたと判定された場合、トピック選択部１２２は、当該トピックデータ１０００をトピックＤＢ２１０から取得する（ステップＳ８０２）。
【００９１】
次に、トピック選択部１２２は、トピックＤＢ２１０から取得したトピックデータ１０００を選択中トピックデータ１０００とする（ステップＳ８０３）。すなわち、トピック選択部１２２は、トピックＤＢ２１０から取得したトピックデータ１０００のトピックＩＤを、例えば、所定の記憶領域に格納する。
【００９２】
これにより、トピック選択部１２２により、新規トピックのトピックデータ１０００が選択される。なお、このとき、トピック選択部１２２は、例えば、新規トピック生成フラグを「０」にする。
【００９３】
ステップＳ８０１において、新規トピックのトピックデータ１０００が生成されていないと判定された場合、トピック選択部１２２は、解析部１１３により抽出されたコンテキストに合致するトピックデータ１０００をトピックＤＢ２１０から取得する（ステップＳ８０４）。
【００９４】
ここで、コンテキストに合致するトピックデータ１０００とは、例えば、解析部１１３により抽出されたコンテキストが、このコンテキストに対応するスロットに設定されているトピックデータ１０００のことである。例えば、コンテキストが「ＡＢＣ公園」である場合、コンテキストに合致するトピックデータ１０００とは、場所を示すスロットに「ＡＢＣ公園」が設定されているトピックデータ１０００のことである。また、例えば、コンテキストが「ＡＢＣ公園」と「乙さん」とである場合、コンテキストに合致するトピックデータ１０００とは、場所を示すスロットに「ＡＢＣ公園」、人を示すスロットに「乙さん」が設定されているトピックデータ１０００のことである。
【００９５】
なお、コンテキストが２つ以上である場合には、少なくとも１つのコンテキストが、このコンテキストに対応するスロットに設定されているトピックデータ１０００をコンテキストに合致するものとしても良い。すなわち、例えば、コンテキストが「ＡＢＣ公園」と「乙さん」とである場合、場所を示すスロットに「ＡＢＣ公園」が設定されている又は人を示すスロットに「乙さん」が設定されているトピックデータ１０００を、コンテキストに合致するものとしても良い。
【００９６】
以降では、上記のステップＳ８０１においてトピックＤＢ２１０から取得されたトピックデータ１０００の集合を、便宜上、「選択候補トピックデータ集合」とも表す。
【００９７】
次に、トピック選択部１２２は、トピックＤＢ２１０から取得したトピックデータ１０００のうち、実施状況が「不実施」のトピックデータ１０００を除外する（ステップＳ８０５）。すなわち、トピック選択部１２２は、選択候補トピックデータ集合の中から、実施状況が「不実施」のトピックデータ１０００を削除する。
【００９８】
例えば、上記のステップＳ８０４において、実施状況「継続中」のトピックデータ１０００−１と、実施状況「不実施」のトピックデータ１０００−２と、実施状況「継続中」のトピックデータ１０００−３とが取得されたものとする。この場合、選択候補トピックデータ集合には、トピックデータ１０００−１と、トピックデータ１０００−２と、トピックデータ１０００−３とが含まれる。
【００９９】
このとき、トピック選択部１２２は、選択候補トピックデータ集合の中から、実施状況「不実施」のトピックデータ１０００−２を削除する。これにより、選択候補トピックデータ集合には、トピックデータ１０００−１と、トピックデータ１０００−３とが含まれるようになる。
【０１００】
次に、トピック選択部１２２は、上記のステップＳ８０５における除外後のトピックデータ１０００の数を特定する（ステップＳ８０６）。すなわち、トピック選択部１２２は、上記のステップＳ８０５における選択候補トピックデータ集合に含まれるトピックデータ１０００の数を特定する。
【０１０１】
ステップＳ８０５において、トピックデータ１０００の数が「１」であると特定された場合、トピック選択部１２２は、ステップＳ８０３の処理を行う。すなわち、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００を、選択中トピックデータ１０００とする。
【０１０２】
ステップＳ８０６において、トピックデータ１０００の数が「０」であると特定された場合、トピック選択部１２２は、処理を終了させる。この場合、トピックデータ１０００の選択は行われない。
【０１０３】
ステップＳ８０６において、トピックデータ１０００の数が「２」以上であると特定された場合、トピック選択部１２２は、トピックの優先付け処理を行う（ステップＳ８０７）。トピックの優先付け処理とは、選択候補トピックデータ集合に含まれる複数のトピックデータ１０００に対して優先度を設定する処理である。
【０１０４】
ここで、トピックの優先付け処理の詳細について、図９を参照しながら説明する。図９は、第一の実施形態に係るトピックの優先付け処理の一例を示すフローチャートである。
【０１０５】
まず、トピック選択部１２２は、実施状況が「継続中」のトピックデータ１０００があるか否かを判定する（ステップＳ９０１）。すなわち、トピック選択部１２２は、選択候補トピックデータ集合の中に、実施状況が「継続中」のトピックデータ１０００があるか否かを判定する。
【０１０６】
ステップＳ９０１において、実施状況が「継続中」のトピックデータ１０００が存在すると判定された場合、トピック選択部１２２は、実施状況が「継続中」以外のトピックデータ１０００を除外する（ステップＳ９０２）。すなわち、トピック選択部１２２は、選択候補トピックデータ集合の中から、実施状況が「継続中」以外のトピックデータ１０００（言い換えれば、実施状況が「実施完了」のトピックデータ１０００）を削除する。
【０１０７】
次に、トピック選択部１２２は、上記のステップＳ９０２における除外後のトピックデータ１０００の数を特定する（ステップＳ９０３）。すなわち、トピック選択部１２２は、上記のステップＳ９０２における選択候補トピックデータ集合に含まれるトピックデータ１０００の数を特定する。
【０１０８】
ステップＳ９０３において、トピックデータ１０００の数が「１」であると特定された場合、トピック選択部１２２は、トピックデータ１０００に優先度を設定する（ステップＳ９０４）。この場合、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００に対して、任意の優先度を設定すれば良い。
【０１０９】
ステップＳ９０３において、トピックデータ１０００の数が「２」以上であると特定された場合、トピック選択部１２２は、現在の日時から時期が近い順に、トピックデータ１０００に優先度を設定する（ステップＳ９０５）。
【０１１０】
すなわち、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００の優先度を、当該トピックデータ１０００の時期が現在の日時と近い順に高くなるように設定する。これにより、最も近い将来に実施することが予想される内容のトピックに対して、最も高い優先度を設定することができる。
【０１１１】
なお、例えば、トピックデータ１０００の時期が設定されていない場合（時期を示すスロットが空きスロットである場合）には、トピック選択部１２２は、当該トピックデータ１０００に対して、例えば、最も低い優先度を設定すれば良い。または、トピック選択部１２２は、例えば、他のスロット（場所を示すスロットや人を示すスロット等）と、解析部１１３により抽出されたコンテキストとの合致度に応じて優先度を設定しても良い。
【０１１２】
また、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００の優先度をランダムに設定しても良い。
【０１１３】
一方、ステップＳ９０１において、実施状況が「継続中」のトピックデータ１０００が存在しないと判定された場合、トピック選択部１２２は、選択回数が少ない順に、優先度を設定する（ステップＳ９０６）。すなわち、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００（実施状況が「実施完了」のトピックデータ１０００）の優先度を、選択回数が少ない順に高くなるように設定する。これにより、実施が完了した内容のトピックについて、選択回数が最も少ないトピック（言い換えれば、最も対話されていないトピック）に対して、最も高い優先度を設定することができる。なお、トピック選択部１２２は、例えば、トピックデータ１０００の優先度をランダムに設定しても良い。
【０１１４】
以上により、選択候補トピックデータ集合に含まれるトピックデータ１０００に対して優先度が設定される。
【０１１５】
図８に戻る。ステップＳ８０７に続いて、トピック選択部１２２は、選択候補トピックデータ集合に含まれるトピックデータ１０００の中から、最も高い優先度が設定されているトピックデータ１０００を選択中トピックデータ１０００とする（ステップＳ８０８）。すなわち、トピック選択部１２２は、最も高い優先度が設定されているトピックデータ１０００のトピックＩＤを、例えば、所定の記憶領域に格納する。また、このとき、選択中トピック管理部１２３は、選択中トピックデータ１０００の選択回数に「１」を加算する。
【０１１６】
以上により、トピックＤＢ２１０に格納されているトピックデータ１０００の中から、一のトピックデータ１０００（選択中トピックデータ１０００）が選択される。
【０１１７】
図６に戻る。ステップＳ６０７に続いて、トピック管理処理部１２０の選択中トピック管理部１２３は、トピック選択部１２２によりトピックデータ１０００が選択されたか否かを判定する（ステップＳ６０８）。すなわち、選択中トピック管理部１２３は、上記のステップＳ６０７のトピック選択処理において、トピック選択部１２２によりトピックデータ１０００が選択されたか否かを判定する。
【０１１８】
ステップＳ６０８において、トピックデータ１０００が選択されたと判定された場合、対話生成処理部１３０は、発話内容の生成及び出力処理を行う（ステップＳ６０９）。対話内容の生成及び出力処理とは、選択中トピックデータ１０００から発話内容を生成して、生成した発話内容を出力する処理のことである。
【０１１９】
ここで、発話内容の生成及び出力処理の詳細について、図１０を参照しながら説明する。図１０は、第一の実施形態に係る発話内容の生成及び出力処理の一例を示すフローチャートである。
【０１２０】
まず、発話内容生成部１３１は、選択中トピックデータ１０００の実施状況を特定する（ステップＳ１００１）。
【０１２１】
ステップＳ１００１において、選択中トピックデータ１０００の実施状況が「継続中」であると特定された場合、発話内容生成部１３１は、当該選択中トピックデータ１０００の必須スロットに空きがあるか否かを判定する（ステップＳ１００２）。
【０１２２】
ステップＳ１００２において、選択中トピックデータ１０００の必須スロットに空きがあると判定された場合、発話内容生成部１３１は、必須スロットの空きを埋めるための発話内容を生成する（ステップＳ１００３）。
【０１２３】
すなわち、例えば、選択中トピックデータ１０００の空き必須スロットが場所を示すスロットである場合、発話内容生成部１３１は、場所を質問する発話内容を生成する。発話内容生成部１３１は、場所を質問する発話内容として、例えば「どこですか？」等を生成しても良いし、ラベル（「ネモフィラを見る」や「○○を買う」等）を参照して、例えば「どこで見られますか？」や「どこで買いますか？」等を生成しても良い。また、発話内容生成部１３１は、更に、他のスロット（人や時期を示すスロット等）を参照して、例えば「来月、どこでネモフィラを見るのですか？」や「来月、乙さんとネモフィラを見るみたいですね。どこへ見に行くのですか？」等を生成しても良い。
【０１２４】
同様に、例えば、選択中トピックデータ１０００の空き必須スロットが人を示すスロットである場合、発話内容生成部１３１は、人を質問する発話内容を生成する。発話内容生成部１３１は、人を質問する発話内容として、例えば「誰ですか？」等を生成しても良いし、ラベル（「ネモフィラを見る」や「○○を買う」等」）を参照して、例えば「誰と見ますか？」や「誰と買いますか？」等を生成しても良い。また、発話内容生成部１３１は、更に、他のスロット（場所や時期を示すスロット等）を参照して、例えば「来月のＡＢＣ公園は誰と行くのですか？」等を生成しても良い。
【０１２５】
同様に、例えば、選択中トピックデータ１０００の空き必須スロットが時期を示すスロットである場合、発話内容生成部１３１は、時期を質問する発話内容を生成する。発話内容生成部１３１は、時期を質問する発話内容として、例えば「いつですか？」等を生成しても良いし、ラベル（「ネモフィラを見る」や「○○を買う」等」）を参照して、例えば「ネモフィラをいつ見ますか？」や「いつ買いますか？」等を生成しても良い。また、発話内容生成部１３１は、更に、他のスロット（場所や人を示すスロット等）を参照して、例えば「乙さんとネモフィラをいつ見るのですか？」や「ＡＢＣ公園にいつ行くのですか？」等を生成しても良い。
【０１２６】
このように、発話内容生成部１３１は、実施状況が「継続中」の選択中トピックデータ１０００について、このトピックデータ１０００のラベルやスロット等を参照して、空き必須スロットを埋めるための発話内容を生成する。
【０１２７】
なお、選択中トピックデータ１０００の空き必須スロットが複数ある場合、発話内容生成部１３１は、例えば、ランダムでいずれか１つの空き必須スロットを埋めるための発話内容を生成しても良いし、予め必須スロット間に優先順位が設定されていても良い。
【０１２８】
次に、発話内容出力部１３２は、発話内容生成部１３１により生成された発話内容を、音声により出力する（ステップＳ１００４）。なお、発話内容出力部１３２は、例えば、発話内容を示すテキストを表示（出力）しても良い。
【０１２９】
ステップＳ１００２において、選択中トピックデータ１０００の必須スロットに空きがないと判定された場合、発話内容生成部１３１は、実施状況を確認するための発話内容を生成する（ステップＳ１００５）。言い換えれば、発話内容生成部１３１は、選択中トピックデータ１０００が示す内容の実施が完了したか否かを確認するための発話内容を生成する。
【０１３０】
すなわち、例えば、発話内容生成部１３１は、ラベル（「ネモフィラを見る」や「○○を買う」等）を参照して、例えば、実施状況を確認するための発話内容「ネモフィラを見ましたか？」や「○○を買いましたか？」等を生成する。このように、発話内容生成部１３１は、実施状況が「継続中」の選択中トピックデータ１０００について、このトピックデータ１０００の内容をユーザが実施したか否かを確認するための発話内容を生成する。これにより、上記のステップＳ１００４において、発話内容出力部１３２は、実施状況を確認するための発話内容を出力することができる。
【０１３１】
ステップＳ１００１において、選択中トピックデータ１０００の実施状況が「実施完了」であると特定された場合、発話内容生成部１３１は、当該選択中トピックデータ１０００から思い出話に関する発話内容を生成する（ステップＳ１００６）。
【０１３２】
すなわち、例えば、選択中トピックデータ１０００のラベルが「ネモフィラを見る」、人を示すスロットが「乙さん」、場所を示すスロットが「ＡＢＣ公園」、時期を示すスロットが「２０１６年４月９日」であったとする。この場合、発話内容生成部１３１は、例えば、思い出話に関する発話内容「そういえば、昨年の４月に、乙さんとＡＢＣ公園でネモフィラを見ましたよね」等を生成する。このように、発話内容生成部１３１は、実施状況が「実施完了」の選択中トピックデータ１０００について、思い出話に関する発話内容を生成する。これにより、上記のステップＳ１００４において、発話内容出力部１３２は、思い出話に関する発話内容を出力することができる。
【０１３３】
以上により、本実施形態に係る対話システム１００は、選択中トピックデータ１０００に応じた発話をユーザに対して行うことができる。
【０１３４】
図６に戻る。ステップＳ６０４において、選択中トピックデータ１０００があると判定された場合、トピック管理処理部１２０の選択中トピック管理部１２３は、選択中トピックデータ１０００の更新があるか否かを判定する（ステップＳ６１０）。
【０１３５】
すなわち、例えば、ステップＳ６０９の発話内容の生成及び出力処理において、対話生成処理部１３０が選択中トピックデータ１０００の場所を示すスロットを埋めるための発話内容を発話したとする。このとき、選択中トピック管理部１２３は、この発話に対するユーザの発話（応答）から抽出されたコンテキストに場所が含まれるか否かを判定する。そして、選択中トピック管理部１２３は、抽出されたコンテキストに場所が含まれると判定した場合、選択中トピックデータ１０００の場所を示すスロットの更新があると判定する。
【０１３６】
同様に、例えば、ステップＳ６０９の発話内容の生成及び出力処理において、対話生成処理部１３０が選択中トピックデータ１０００の実施状況を確認するための発話内容を発話したとする。このとき、選択中トピック管理部１２３は、この発話に対するユーザの発話（応答）から抽出されたコンテキストに、実施完了を示す用語（例えば、「もう見た」や「もう行った」等）が含まれるか否かを判定する。そして、選択中トピック管理部１２３は、抽出されたコンテキストに実施完了を示す用語が含まれると判定した場合、選択中トピックデータ１０００における実施状況の更新があると判定する。
【０１３７】
ステップＳ６１０において、選択中トピックデータ１０００の更新があると判定された場合、選択中トピック管理部１２３は、選択中トピックデータ１０００を更新する（ステップＳ６１１）。
【０１３８】
すなわち、例えば、ステップＳ６０９の発話内容の生成及び出力処理において、対話生成処理部１３０が選択中トピックデータ１０００の場所を示すスロットを埋めるための発話内容を発話したとする。このとき、この発話に対するユーザの発話（応答）から抽出されたコンテキストに場所「ＸＹＺ遊園地」が含まれる場合、選択中トピック管理部１２３は、選択中トピックデータ１０００の場所を示すスロットに「ＸＹＺ遊園地」を設定（更新）する。
【０１３９】
同様に、例えば、ステップＳ６０９の発話内容の生成及び出力処理において、対話生成処理部１３０が選択中トピックデータ１０００の実施状況を確認するための発話内容を発話したとする。このとき、この発話に対するユーザの発話（応答）から抽出されたコンテキストに、実施完了を示す用語が含まれる場合、選択中トピック管理部１２３は、選択中トピックデータ１０００の実施状況を「実施完了」に更新する。
【０１４０】
このように、本実施形態に係る対話システム１００の発話に対するユーザからの発話（応答）に応じて、選択中トピックデータ１０００が更新される。
【０１４１】
なお、ステップＳ６０８において、トピックデータ１０００が選択されなかったと判定された場合、又は、ステップＳ６１０において、選択中トピックデータ１０００の更新がないと判定された場合、対話システム１００は、処理を終了する。
【０１４２】
以上のように、本実施形態に係る対話システム１００は、ユーザからの発話に含まれる意図に対応するトピックデータ１０００の実施状況を管理すると共に、このトピックデータ１０００の必須スロット（場所、人、時期等）を埋めるための発話を行う。また、本実施形態に係る対話システム１００は、ユーザの発話に応じて、実施が完了したトピックデータ１０００の思い出話に関する発話等を行うことができる。
【０１４３】
これにより、本実施形態に係る対話システム１００は、ユーザと繰り返し対話を行うことで、様々な話題（トピック）について様々な対話（場所、人、時期等の質問や思い出話等）を行うことができる。したがって、本実施形態に係る対話システム１００は、ユーザとの間で、長期的に多様な対話を継続することができる。
【０１４４】
［第二の実施形態］
次に、第二の実施形態について説明する。第二の実施形態では、閑話時（すなわち、ユーザとの間で対話を行っていないとき）にユーザに対して対話システム１００が自発的に発話する場合について説明する。なお、第二の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の処理を行う箇所や同一の機能を有する箇所については、適宜、その説明を省略する。
【０１４５】
まず、本実施形態に係る対話システム１００における閑話時の発話について、図１１を参照しながら説明する。図１１は、第二の実施形態に係る対話システムにおける閑話時の発話の一例を説明する図である。
【０１４６】
図１１に示すように、本実施形態に係る対話システム１００は、ユーザが近くにいることを検知するユーザ検知部１４０を有する。
【０１４７】
図１１に示すように、本実施形態に係る対話システム１００は、ユーザ検知部１４０によりユーザが近くにいることを検知した場合、トピック管理処理部１２０により、現在の日付に応じたトピックデータ１０００をトピックＤＢ２１０から選択する。現在の日付に応じたトピックデータ１０００とは、例えば、現在の日付に最も近い将来の時期が設定されたトピックデータ１０００や現在の日付に対応する過去の時期が設定されたトピックデータ１０００等のことである。以降では、現在の日付に最も近い将来の時期が設定されたトピックデータ１０００がトピックＤＢ２１０から選択されたものとする。
【０１４８】
そして、本実施形態に係る対話システム１００は、対話生成処理部１３０により、このトピックデータ１０００の内容をユーザに知らせるための発話内容をユーザに対して発話（出力）する。その後、本実施形態に係る対話システム１００は、ユーザへの発話に対する応答の発話からトピックデータ１０００を更新する。
【０１４９】
すなわち、本実施形態に係る対話システム１００は、例えば、現在の日付（例えば２０１６年６月１０日）と最も近い将来の時期のトピックデータ１０００を選択する。このとき、このトピックデータ１０００の人を示すスロットが空きスロットであった場合、本実施形態に係る対話システム１００は、発話内容「そういえば、来月○○山に登りたいって言ってましたね。誰と行くのですか？」を生成する。そして、本実施形態に係る対話システム１００は、この発話内容を出力することで、発話Ｄ３１を行う。その後、本実施形態に係る対話システム１００は、例えば、ユーザから「そうだった。乙さんを誘ってみよう。」との発話Ｄ３２があった場合、トピックデータ１０００の人を示すスロットを「乙さん」に更新する。
【０１５０】
このように、本実施形態に係る対話システム１００は、閑話時にユーザが近くにいる場合、現在の日付に応じたトピック（話題）を自発的に発話する。これにより、本実施形態に係る対話システム１００は、ユーザとの間で対話を行うことができるようになる。また、ユーザは、本実施形態に係る対話システム１００からの発話により、近い将来に実施することを予定していた内容を思い出すことができるようになる。
【０１５１】
次に、本実施形態に係る対話システム１００の機能構成について、図１２を参照しながら説明する。図１２は、第二の実施形態に係る対話システム１００の機能構成の一例を示す図である。
【０１５２】
図１２に示すように、本実施形態に係る対話システム１００は、上述したように、ユーザ検知部１４０を有する。当該機能部は、対話システム１００にインストールされた１以上のプログラムが、ＣＰＵ３０７に実行させる処理により実現される。
【０１５３】
ユーザ検知部１４０は、例えば人感センサ等により、所定の範囲内にユーザがいることを検知することで、ユーザが近くにいるか否かを判定する。
【０１５４】
次に、本実施形態に係る対話システム１００の処理の詳細について説明する。以降では、本実施形態に係る対話システム１００の閑話時における全体処理について、図１３を参照しながら説明する。図１３は、第二の実施形態に係る閑話時における全体処理の一例を示すフローチャートである。図１３に示す閑話時における全体処理は、例えば、閑話時において所定の時間毎に行われる。
【０１５５】
まず、ユーザ検知部１４０は、ユーザが近くにいるか否かを判定する（ステップＳ１３０１）。すなわち、ユーザ検知部１４０は、所定の範囲内にいるユーザを検知することで、ユーザが近くにいるか否かを判定する。
【０１５６】
なお、本実施形態では、ユーザ検知部１４０によりユーザが近くにいるか否かを判定するものとしたが、これに限られず、例えば、更に、ユーザが対話可能な状態であるか否かを判定しても良い。ユーザが対話可能な状態とは、例えば、ユーザが起きている状態やユーザの正面が対話システム１００の方向を向いている状態、ユーザが何等かの作業等を行っていない状態等が挙げられる。
【０１５７】
ステップＳ１３０１において、ユーザが近くにいないと判定された場合、対話システム１００は、処理を終了する。
【０１５８】
一方、ステップＳ１３０１において、ユーザが近くにいると判定された場合、トピック管理処理部１２０のトピック選択部１２２は、トピックの選択処理（閑話時）を行う（ステップＳ１３０２）。すなわち、トピック選択部１２２は、現在の日付に応じたトピックデータ１０００を、トピックＤＢ２１０に格納されているトピックデータ１０００から選択する。
【０１５９】
ここで、トピックの選択処理（閑話時）の詳細について、図１４を参照しながら説明する。図１４は、第二の実施形態に係るトピックの選択処理（閑話時）の一例を示すフローチャートである。
【０１６０】
まず、トピック選択部１２２は、現在の日付に応じたトピックデータ１０００をトピックＤＢ２１０から取得する（ステップＳ１４０１）。すなわち、トピック選択部１２２は、例えば、現在の日付に最も近い将来の時期が設定されたトピックデータ１０００や現在の日付に対応する過去の時期が設定されたトピックデータ１０００等を取得する。
【０１６１】
より具体的には、例えば、現在の日付が「２０１６年４月１０日」であったとする。この場合、トピック選択部１２２は、例えば、現在の日付から１月以内（すなわち、「２０１６年４月１１日」〜「２０１６年５月１０日」）の時期が設定されたトピックデータ１０００を取得する。また、トピック選択部１２２は、例えば、現在の日付から１年前の時期（すなわち、「２０１５年４月１０日」）やその前後の時期（すなわち、「２０１５年４月９日」や「２０１５年４月１１日」等）が設定されたトピックデータ１０００を取得する。
【０１６２】
続くステップＳ１４０２〜ステップＳ１４０６の処理は、図８のステップＳ８０５〜ステップＳ８０８の処理と同様であるため、その説明を省略する。
【０１６３】
以上により、トピックＤＢ２１０に格納されているトピックデータ１０００の中から、現在の日付に応じた一のトピックデータ１０００（選択中トピックデータ１０００）が選択される。
【０１６４】
図１３に戻る。ステップＳ１３０２に続いて、選択中トピック管理部１２３は、トピック選択部１２２によりトピックデータ１０００が選択されたか否かを判定する（ステップＳ１３０３）。
【０１６５】
ステップＳ１３０３において、トピックデータ１０００が選択されなかったと判定された場合、対話システム１００は、処理を終了する。この場合、本実施形態に係る対話システム１００は、発話を行わない。
【０１６６】
一方、ステップＳ１３０３において、トピックデータ１０００が選択されたと判定された場合、対話生成処理部１３０は、発話内容の生成及び出力処理を行う（ステップＳ１３０４）。なお、発話内容の生成及び出力処理は、図１０と同様であるため、その説明を省略する。
【０１６７】
これにより、例えば、選択中トピックデータ１０００の実施状況が「継続中」である場合、発話内容出力部１３２は、必須スロットを埋めるための発話や実施状況を確認するための発話を出力する。また、例えば、選択中トピックデータ１０００の実施状況が「実施完了」である場合、発話内容出力部１３２は、思い出話に関する発話を出力する。
【０１６８】
以上のように、本実施形態に係る対話システム１００は、閑話時に、現在の日付に応じたトピックデータ１０００の発話（実施状況の確認や空きスロットを埋めるための質問、思い出話等）をユーザに対して自発的に行うことができる。これにより、ユーザは、例えば、近い将来に実施することを予定していた内容を認識することができたり、過去に実施した内容を思い出したりすることができる。
【０１６９】
［第三の実施形態］
次に、第三の実施形態について説明する。第三の実施形態では、トピックデータ１０００の実施状況が「実施完了」に更新された場合に、例えば、所定のアプリケーションで作成された写真やブログ（blog）記事等の情報を、当該トピックデータ１０００に関連付ける場合について説明する。すなわち、第三の実施形態では、トピックデータ１０００の実施状況が「実施完了」に更新された場合に、所定のアプリケーションから通知された情報（例えば、写真やブログ記事のＵＲＬ（Uniform  Resource  Locator）等）で当該トピックデータ１０００を更新する。
【０１７０】
なお、第三の実施形態では、主に、第一の実施形態との相違点について説明し、第一の実施形態と実質的に同一の処理を行う箇所や同一の機能を有する箇所については、適宜、その説明を省略する。
【０１７１】
まず、本実施形態に係る対話システム１００において、アプリケーション４００からの通知によりトピックデータ１０００を更新する場合について、図１５を参照しながら説明する。図１５は、第三の実施形態に係る対話システム１００において、アプリケーション４００からの通知によりトピックを更新する場合の一例を説明する図である。
【０１７２】
ここで、アプリケーション４００は、例えば、ＳＮＳ（Social  Networking  Service）を提供するアプリケーションやウェブブラウザ、ブログ投稿アプリケーション、ゲームアプリケーション、地図アプリケーション等の種々のアプリケーションプログラムである。
【０１７３】
アプリケーション４００は、例えば、対話システム１００とは異なるスマートフォンやタブレット端末等の各種の情報処理装置に搭載（インストール）されていても良いし、対話システム１００に搭載されていても良い。また、アプリケーション４００は、例えば、対話システム１００又は当該対話システム１００との異なる情報処理装置に搭載されたブラウザ等から利用可能なＷｅｂアプリケーションであっても良い。
【０１７４】
以降では、一例として、アプリケーション４００は、ＳＮＳに写真を投稿することができるアプリケーションプログラムであるものとして説明する。アプリケーション４００は、例えば、写真の投稿を行った場合、ＳＮＳに投稿された写真のＵＲＬを対話システム１００に通知するものとする。なお、アプリケーション４００を「アプリ４００」とも表す。
【０１７５】
図１５に示すように、本実施形態に係る対話システム１００は、アプリ４００からの通知を受信するアプリ連携部１５０と、アプリ４００から受信した通知（以降では、「アプリ通知情報」とも表す。）を記憶するアプリ通知記憶部２２０とを有する。
【０１７６】
図１５に示すように、選択中トピックデータ１０００の実施状況を「実施完了」に更新する発話Ｄ４１をユーザが行った場合、トピック管理処理部１２０により、選択中トピックデータ１０００の実施状況は「実施完了」に更新される。なお、選択中トピックデータ１０００の実施状況を「実施完了」に更新する発話とは、例えば、「見た」、「見てきた」、「行った」、「行ってきた」等の動作の完了を示す発話のことである。
【０１７７】
選択中トピックデータ１０００の実施状況が「実施完了」に更新された場合、本実施形態に係る対話システム１００は、アプリ連携部１５０により、アプリ通知情報がアプリ通知記憶部２２０に記憶されているか否かを判定する。そして、アプリ通知情報がアプリ通知記憶部２２０に記憶されている場合、本実施形態に係る対話システム１００は、対話生成処理部１３０により、当該アプリ通知情報が選択中トピックデータ１０００に関連するか否かを確認するための発話内容を生成する。その後、本実施形態に係る対話システム１００は、生成した発話内容を、ユーザに対して発話（出力）する。
【０１７８】
また、本実施形態に係る対話システム１００は、ユーザへの発話に対する応答の発話から、アプリ通知情報と選択中トピックデータ１０００とが関連すると判定された場合、選択中トピックデータ１０００を更新する。
【０１７９】
すなわち、本実施形態に係る対話システム１００は、例えば、アプリ通知情報が選択中トピックデータ１０００に関連するか否かを確認するための発話内容「よかったですね。ＳＮＳに投稿していたのは、その写真ですか？」を生成して、この発話内容を出力することで、発話Ｄ４２を行う。
【０１８０】
また、本実施形態に係る対話システム１００は、例えば、「うん。乙さんに撮ってもらったんだ。」との応答の発話Ｄ４２があった場合、アプリ通知情報と選択中トピックデータ１０００と関連があると判定する。そして、本実施形態に係る対話システム１００は、選択中トピックデータ１０００の関連を示すスロットに、アプリ通知情報が示すＵＲＬ（ＳＮＳに投稿された写真のＵＲＬ）を設定する。
【０１８１】
このように、本実施形態に係る対話システム１００は、選択中トピックデータ１０００の実施状況が「実施完了」となった場合に、この選択中トピックデータ１０００に関連するアプリ通知情報を、関連を示すスロットに設定する。これにより、本実施形態に係る対話システム１００では、例えば、実施状況が「実施完了」のトピックデータ１０００から思い出話に関する発話内容を生成する場合に、関連を示すスロットに設定された情報（例えば写真のＵＲＬ等）もユーザに提供することができる。
【０１８２】
次に、本実施形態に係る対話システム１００の機能構成について、図１６を参照しながら説明する。図１６は、第三の実施形態に係る対話システム１００の機能構成の一例を示す図である。
【０１８３】
図１６に示すように、本実施形態に係る対話システム１００は、上述したように、アプリ連携部１５０と、アプリ通知記憶部２２０とを有する。アプリ連携部１５０は、対話システム１００にインストールされた１以上のプログラムが、ＣＰＵ３０７に実行させる処理により実現される。また、アプリ通知記憶部２２０は、例えば記憶装置３０８を用いて実現可能である。なお、アプリ通知記憶部２２０は、例えば、対話システム１００ネットワークを介して接続される記憶装置等を用いて実現されていても良い。
【０１８４】
アプリ連携部１５０は、アプリ４００からのアプリ通知情報を受信して、アプリ通知記憶部２２０に格納する。アプリ通知記憶部２２０は、アプリ連携部１５０が受信したアプリ通知情報を記憶する。
【０１８５】
次に、本実施形態に係る対話システム１００の処理の詳細について説明する。以降では、本実施形態に係る対話システム１００の対話時における全体処理について、図１７を参照しながら説明する。図１７は、第三の実施形態に係る対話時における全体処理の一例を示すフローチャートである。なお、図１７のステップＳ１７０１〜ステップＳ１７１１の処理は、図６のステップＳ６０１〜ステップＳ６１１の処理と同様であるため、その説明を省略する。
【０１８６】
ステップＳ１７１０において、選択中トピックデータ１０００の更新がないと判定された場合、又は、ステップＳ１７１１に続いて、選択中トピック管理部１２３は、選択中トピックデータ１０００の実施状況が「実施完了」であるか否かを判定する（ステップＳ１７１２）。
【０１８７】
ステップＳ１７１２において、選択中トピックデータ１０００の実施状況が「実施完了」でないと判定された場合、対話システム１００は、処理を終了する。
【０１８８】
一方、ステップＳ１７１２において、選択中トピックデータ１０００の実施状況が「実施完了」であると判定された場合、対話システム１００は、アプリ連携処理を行う（ステップＳ１７１３）。アプリ連携処理とは、実施状況が「実施完了」である選択中トピックデータ１０００に関連するアプリ通知情報を、この選択中トピックデータ１０００の関連を示すスロットに設定する処理である。
【０１８９】
ここで、アプリ連携処理の詳細について、図１８を参照しながら説明する。図１８は、第三の実施形態に係るアプリ連携処理の一例を示すフローチャートである。
【０１９０】
まず、アプリ連携部１５０は、アプリ４００から通知があったか否かを判定する（ステップＳ１８０１）。すなわち、アプリ連携部１５０は、アプリ通知情報がアプリ通知記憶部２２０に記憶されているか否かを判定する。
【０１９１】
ステップＳ１８０１において、アプリ４００から通知がなかったと判定された場合、アプリ連携部１５０は、処理を終了する。
【０１９２】
一方、ステップＳ１８０１において、アプリ４００から通知があったと判定された場合、アプリ連携部１５０は、アプリ通知情報をアプリ通知記憶部２２０から取得する（ステップＳ１８０２）。なお、例えば、アプリ通知記憶部２２０に複数のアプリ通知情報が記憶されている場合、アプリ連携部１５０は、これら複数のアプリ通知情報のうち、１つのアプリ通知情報を取得すれば良い。
【０１９３】
次に、対話生成処理部１３０の発話内容生成部１３１は、アプリ連携部１５０により取得されたアプリ通知情報が選択中トピックデータ１０００に関連するか否かを確認するための発話内容を生成する（ステップＳ１８０３）。
【０１９４】
すなわち、例えば、アプリ通知情報がＳＮＳに投稿された写真のＵＲＬである場合、発話内容生成部１３１は、発話内容「ＳＮＳに投稿していたのは、その写真ですか？」等を生成する。発話内容生成部１３１は、選択中トピックデータ１０００の場所を示すスロットを参照して、例えば、発話内容「ＳＮＳに投稿していたのは、ＡＢＣ公園の写真ですか？」等を生成しても良い。
【０１９５】
また、例えば、アプリ通知情報がアプリ４００（例えば、地図アプリ）から通知された位置情報（例えば、「ＡＢＣ公園」を示す位置情報）である場合、発話内容生成部１３１は、発話内容「今日、ＡＢＣ公園に行ったのですか？」等を生成しても良い。
【０１９６】
このように、発話内容生成部１３１は、アプリ通知情報が、実施状況が「実施完了」の選択中トピックデータ１０００と関連があるか否かを確認するための発話内容を生成する。
【０１９７】
次に、発話内容出力部１３２は、発話内容生成部１３１により生成された発話内容を、音声により出力する（ステップＳ１８０４）。これにより、本実施形態に係る対話システム１００は、アプリ通知情報が選択中トピックデータ１０００と関連があるか否かを確認するための発話を行うことができる。
【０１９８】
その後、この発話に対する応答の発話として、アプリ通知情報が選択中トピックデータ１０００と関連あることを示す発話をユーザが行った場合、上記のステップＳ１７１１において、選択中トピック管理部１２３は、選択中トピックデータ１０００を更新する。すなわち、この場合、選択中トピック管理部１２３は、選択中トピックデータ１０００の関連を示すスロットに、アプリ通知情報（例えば、ＳＮＳに投稿された写真のＵＲＬ、ユーザが訪れた場所の位置情報等）を設定する。
【０１９９】
以上により、選択中トピックデータ１０００の関連を示すスロットには、選択中トピックデータ１０００に関連する様々な情報が設定される。したがって、本実施形態に係る対話システム１００では、例えば、実施状況が「実施完了」のトピックデータ１０００から思い出話に関する発話内容を生成する場合に、様々なアプリ４００から通知された情報（例えば写真のＵＲＬ等）もユーザに提供することができる。
【０２００】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【０２０１】
以上の説明に関し、更に以下の項を開示する。
（付記１）
ユーザとの間で対話を行う情報処理システムであって、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、
を有する情報処理システム。
（付記２）
生成された前記トピックデータを記憶する記憶部と、
前記発話から前記意図が抽出されなかった場合、抽出された前記コンテキストに応じたトピックデータを前記記憶部から取得する取得部と、を有し、
前記発話生成部は、
取得された前記トピックデータの実施状況に応じて、発話内容を生成する、付記１に記載の情報処理システム。
（付記３）
前記取得部は、
前記ユーザとの間で対話を行っていない場合、現在の日付に応じたトピックデータを前記記憶部から取得する、付記２に記載の情報処理システム。
（付記４）
ユーザとの間で対話を行う情報処理装置であって、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出する抽出部と、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成するトピック生成部と、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する発話生成部と、
を有する情報処理装置。
（付記５）
生成された前記トピックデータを記憶する記憶部と、
前記発話から前記意図が抽出されなかった場合、抽出された前記コンテキストに応じたトピックデータを前記記憶部から取得する取得部と、を有し、
前記発話生成部は、
取得された前記トピックデータの実施状況に応じて、発話内容を生成する、付記４に記載の情報処理装置。
（付記６）
前記取得部は、
前記ユーザとの間で対話を行っていない場合、現在の日付に応じたトピックデータを前記記憶部から取得する、付記５に記載の情報処理装置。
（付記７）
ユーザとの間で対話を行うコンピュータに、
前記ユーザの発話から、該ユーザの意図と、前記発話のコンテキストとを抽出し、
抽出された前記意図と前記コンテキストとに基づいて、前記意図の実施状況を含むトピックデータを生成し、
生成された前記トピックデータの実施状況に応じて、発話内容を生成する、
処理を実行させるためのプログラム。
（付記８）
生成された前記トピックデータを記憶する記憶部を有する前記コンピュータに、
前記発話から前記意図が抽出されなかった場合、抽出された前記コンテキストに応じたトピックデータを前記記憶部から取得する、処理を実行させ、
前記発話内容を生成する処理は、
取得された前記トピックデータの実施状況に応じて、発話内容を生成する、付記７に記載のプログラム。
（付記９）
前記取得する処理は、
前記ユーザとの間で対話を行っていない場合、現在の日付に応じたトピックデータを前記記憶部から取得する、付記８に記載のプログラム。
【符号の説明】
【０２０２】
１００      対話システム
１１０      音声解析処理部
１１１      音声入力受付部
１１２      音声認識部
１１３      解析部
１２０      トピック管理処理部
１２１      トピック生成部
１２２      トピック選択部
１２３      選択中トピック管理部
１３０      対話生成処理部
１３１      発話内容生成部
１３２      発話内容出力部
２１０      トピックＤＢ
【図１】
2018072560.tif 000003
【図２】
2018072560.tif 000004
【図３】
2018072560.tif 000005
【図４】
2018072560.tif 000006
【図５】
2018072560.tif 000007
【図６】
2018072560.tif 000008
【図７】
2018072560.tif 000009
【図８】
2018072560.tif 000010
【図９】
2018072560.tif 000011
【図１０】
2018072560.tif 000012
【図１１】
2018072560.tif 000013
【図１２】
2018072560.tif 000014
【図１３】
2018072560.tif 000015
【図１４】
2018072560.tif 000016
【図１５】
2018072560.tif 000017
【図１６】
2018072560.tif 000018
【図１７】
2018072560.tif 000019
【図１８】
2018072560.tif 000020