(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2022189081
(43)【公開日】2022-12-22
(54)【発明の名称】情報処理装置およびプログラム
(51)【国際特許分類】
G06F 40/56 20200101AFI20221215BHJP
G06F 16/90 20190101ALI20221215BHJP
【FI】
G06F40/56
G06F16/90 100
【審査請求】有
【請求項の数】5
【出願形態】OL
(21)【出願番号】P 2021097444
(22)【出願日】2021-06-10
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002918
【氏名又は名称】弁理士法人扶桑国際特許事務所
(72)【発明者】
【氏名】大櫃 敏郎
【テーマコード(参考)】
5B091
5B175
【Fターム(参考)】
5B091CA21
5B175EA01
5B175FA01
5B175FA03
(57)【要約】 (修正有)
【課題】円滑な対話ができる情報処理装置およびプログラムを提供する。
【解決手段】情報処理装置10は、入力文1から伝達要素それぞれに対応する単語を抽出する。情報処理装置10は、伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、入力文1に含まれる単語と定型文とに基づいた応答2を出力する。
【選択図】
図1
【特許請求の範囲】
【請求項1】
入力文から伝達要素それぞれに対応する単語を抽出し、前記伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、前記入力文に含まれる単語と前記定型文とに基づいた応答を出力する処理部、
を有する情報処理装置。
【請求項2】
前記処理部は、前記入力文に含まれる単語からカテゴリを特定し、前記カテゴリに対応する前記伝達要素のうちの前記欠落伝達要素に基づいて前記定型文を選択する、
請求項1記載の情報処理装置。
【請求項3】
前記処理部は、第1入力文に含まれる単語から前記カテゴリを特定し、前記伝達要素のうちの対応する単語が前記第1入力文から抽出されなかった第1欠落伝達要素に基づいて第1定型文を選択し、前記第1入力文に含まれる単語と前記第1定型文とに基づいた第1応答を出力し、第2入力文を取得すると、前記伝達要素のうちの対応する単語が前記第1入力文と前記第2入力文とから抽出されなかった第2欠落伝達要素に基づいて第2定型文を選択し、前記第1入力文に含まれる単語と前記第2入力文に含まれる単語と前記第2定型文とに基づいた第2応答を出力する、
請求項2記載の情報処理装置。
【請求項4】
前記処理部は、前記入力文に含まれる単語から意図を特定し、前記欠落伝達要素と前記意図とに基づいて前記定型文を選択する、
請求項1ないし3のいずれかに記載の情報処理装置。
【請求項5】
コンピュータに、
入力文から伝達要素それぞれに対応する単語を抽出し、
前記伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、
前記入力文に含まれる単語と前記定型文とに基づいた応答を出力する、
処理を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報処理装置およびプログラムに関する。
【背景技術】
【0002】
近年、ユーザと対話する対話システムが普及している。対話システムは、ユーザが入力した音声やテキストに応じた処理をする。例えば、ユーザが行いたい作業を対話システムに伝えると、対話システムは作業に対応するソフトウェアを起動する。また、例えば、対話システムは、ユーザの質問内容に応じた応答を出力する。
【0003】
対話システムに関する技術としては、例えば、電子デバイスの多くの異なるサービスに関するユーザの体験を統一、簡略化及び改善できるインテリジェント自動アシスタントが提案されている。また、例えば、ダイアログ・システム・インテントおよび1つまたは複数の要求されたパラメータに基づいて、アクション命令を生成するダイアログ・システムにおけるパラメータ収集および自動ダイアログ生成が提案されている。
【先行技術文献】
【特許文献】
【0004】
【特許文献1】特開2020-173835号公報
【特許文献2】特表2019-503526号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
対話システムは、あらかじめ設定されている要素それぞれに対応する単語がユーザが入力したテキストにすべて含まれている場合、適切な応答ができることが多い。そこで、不足した要素についての選択入力をユーザから受け付け、受け付けた入力内容を踏まえて応答することが考えられる。しかし、ユーザに選択入力を要求するような場合、円滑な対話ができなくなる。
【0006】
1つの側面では、本件は、円滑な対話ができるシステムを実現することを目的とする。
【課題を解決するための手段】
【0007】
1つの案では、処理部を有する情報処理装置が提供される。処理部は、入力文から伝達要素それぞれに対応する単語を抽出し、伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、入力文に含まれる単語と定型文とに基づいた応答を出力する。
【発明の効果】
【0008】
1態様によれば、円滑な対話ができるシステムを実現することができる。
【図面の簡単な説明】
【0009】
【
図1】第1の実施の形態に係る情報処理装置の一例を示す図である。
【
図2】第2の実施の形態に係る情報処理システムの一例を示す図である。
【
図3】情報処理装置のハードウェアの一構成例を示す図である。
【
図4】情報処理装置の機能例を示すブロック図である。
【
図12】応答処理の手順の一例を示すフローチャート(その1)である。
【
図13】応答処理の手順の一例を示すフローチャート(その2)である。
【
図14】情報処理装置とユーザとの対話の一例を示す図(その1)である。
【
図15】情報処理装置とユーザとの対話の一例を示す図(その2)である。
【
図16】情報処理装置とユーザとの対話の一例を示す図(その3)である。
【
図17】情報処理装置とユーザとの対話の流れの一例を示す図である。
【発明を実施するための形態】
【0010】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第1の実施の形態〕
図1は、第1の実施の形態に係る情報処理装置の一例を示す図である。第1の実施の形態は、情報処理装置10が入力文1に対する自然な応答2を出力するものである。
【0011】
情報処理装置10は、対話システムを提供するコンピュータである。情報処理装置10は、サーバコンピュータであってもよいし、クライアントコンピュータであってもよい。情報処理装置10は、処理部11を有する。処理部11は、情報処理装置10を制御し、所要の処理を実行可能である。処理部11は、例えば、情報処理装置10が有するプロセッサ、または演算回路である。
【0012】
まず、処理部11は、入力文1を取得する。入力文1は、ユーザから入力されたテキストである。入力文1は、音声入力されたユーザの発話を音声認識によってテキストとしたものであってもよいし、ユーザがテキスト入力によって入力したテキストであってもよい。入力文1は、一例として、「彼氏とディナーに着ていくおしゃれな洋服を調べて、なるべく安くて。」というテキストである。
【0013】
次に、処理部11は、入力文1に含まれる単語からカテゴリを特定する。例えば、処理部11は、複数のカテゴリそれぞれに対応する単語を示す情報を参照する。そして、処理部11は、対応する単語が入力文1に最も多く含まれるカテゴリを入力文1のカテゴリとして特定する。一例として、処理部11は、入力文1に含まれる「彼氏」、「ディナー」、「おしゃれ」および「洋服」から、入力文1のカテゴリをファッションと特定する。
【0014】
また、処理部11は、入力文1に含まれる単語から意図を特定する。例えば、処理部11は、複数の意図それぞれに対応する単語を示す情報を参照する。そして、処理部11は、対応する単語が入力文1に最も多く含まれる意図を入力文1の意図として特定する。一例として、処理部11は、入力文1に含まれる「調べて」から、入力文1のカテゴリを検索と特定する。
【0015】
次に、処理部11は、入力文1から伝達要素それぞれに対応する単語を抽出する。伝達要素は、入力文1に対するユーザの要求を満たす応答をするための情報を伝達するために、入力文1に要求される要素である。伝達要素には、例えば、時間を示す「いつ」、場所を示す「どこ」、物を示す「なに」、人を示す「だれ」等が含まれる。また、伝達要素は、カテゴリごとに設定されている。処理部11は、特定したカテゴリに対応する伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素を特定する。
【0016】
一例として、処理部11は、入力文1のカテゴリであるファッションに対応する伝達要素の、「いつ」、「どこ」、「なに」、「だれ」それぞれに対応する単語を入力文1から抽出する。すると、処理部11は、「どこ」に対応する「ディナー」、「なに」に対応する「洋服」および「だれ」に対応する「彼氏」を抽出する。処理部11は、対応する単語が抽出されなかった「いつ」を、欠落伝達要素と特定する。
【0017】
処理部11は、欠落伝達要素と意図とに基づいて定型文を選択する。例えば、処理部11は、カテゴリと意図と欠落伝達要素との組み合わせそれぞれに対応する定型文の情報を参照する。そして、処理部11は、入力文1から特定したカテゴリと意図と欠落伝達要素との組み合わせに対応する定型文を選択する。なお、定型文は、空欄を含んでいてもよい。一例として、処理部11は、入力文1のカテゴリであるファッションと、入力文1の意図である検索と、入力文1の欠落伝達要素である「いつ」との組み合わせに対応する定型文「[]は[]の予定ですか。」を選択する。
【0018】
そして、処理部11は、入力文1に含まれる単語と定型文とに基づいた応答2を出力する。例えば、処理部11は、定型文に含まれる空欄に、入力文1に含まれる単語と、欠落伝達要素を要求するための単語とを入れることで応答2を生成する。一例として、処理部11は、定型文「[]は[]の予定ですか。」に、入力文1に含まれる単語「ディナー」と、欠落伝達要素「いつ」を要求するための単語「いつ頃」を入れることで、「ディナーは、いつ頃の予定ですか。」というテキストを応答2として生成する。そして、処理部11は、生成した応答2を出力する。処理部11は、応答2のテキストを示す音声を出力してもよいし、応答2のテキストを画面表示してもよい。
【0019】
第1の実施の形態によれば、情報処理装置10の処理部11は、入力文1から伝達要素それぞれに対応する単語を抽出する。処理部11は、伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択する。そして、処理部11は、入力文に含まれる単語と定型文とに基づいた応答2を出力する。
【0020】
ここで、情報処理装置10は、伝達要素に対応する単語をすべてユーザから取得できれば、ユーザの要求を満たすように応答できる可能性が高い。情報処理装置10は、応答2による自然なやりとりによって欠落伝達要素に対応する単語をユーザに要求できる。よって、情報処理装置10は、円滑な対話ができるシステムを実現することができる。
【0021】
また、処理部11は、入力文1に含まれる単語からカテゴリを特定し、カテゴリに対応する伝達要素のうちの欠落伝達要素に基づいて定型文を選択する。これにより、情報処理装置10は、正確な欠落伝達要素に対応する単語をユーザに要求できる。
【0022】
また、処理部11は、入力文1に含まれる単語から意図を特定し、欠落伝達要素と意図とに基づいて定型文を選択する。これにより、情報処理装置10は、ユーザが入力文1を入力した意図に合わせた応答ができる。
【0023】
なお、処理部11は、第1入力文に含まれる単語からカテゴリを特定し、伝達要素のうちの対応する単語が第1入力文から抽出されなかった第1欠落伝達要素に基づいて第1定型文を選択し、第1入力文に含まれる単語と第1定型文とに基づいた第1応答を出力し、第2入力文を取得すると、伝達要素のうちの対応する単語が第1入力文と第2入力文とから抽出されなかった第2欠落伝達要素に基づいて第2定型文を選択し、第1入力文に含まれる単語と第2入力文に含まれる単語と第2定型文とに基づいた第2応答を出力してもよい。これにより、情報処理装置10は、ユーザと複数回のやりとりがある場合も欠落伝達要素をユーザに自然に要求できる。
【0024】
〔第2の実施の形態〕
次に、第2の実施の形態について説明する。第2の実施の形態は、対話システムをユーザに提供するものである。
【0025】
図2は、第2の実施の形態に係る情報処理システムの一例を示す図である。第2の実施の形態の情報処理システムは、情報処理装置100およびPC(Personal Computer)200を有する。情報処理装置100およびPC200は、ネットワーク30に接続されている。ネットワーク30は、例えば、インターネット等の広域ネットワークである。
【0026】
情報処理装置100は、対話システムを提供するサーバコンピュータである。情報処理装置100は、ユーザ20によるユーザ発話をPC200から取得する。情報処理装置100は、取得したユーザ発話に対する応答を生成する。
【0027】
PC200は、ユーザ20が操作するコンピュータである。PC200は、ユーザ20のユーザ発話を取得する。PC200は、取得したユーザ発話を情報処理装置100に送信する。PC200は、ユーザ発話に対する応答を情報処理装置100から取得し、取得した応答を出力する。
【0028】
なお、第2の実施の形態では、情報処理装置100がユーザ20の発話音声を取得するが、PC200がユーザ20の発話音声から音声認識によって発話音声の内容を示すテキストを生成し、生成したテキストを情報処理装置100に送信してもよい。また、第2の実施の形態では、PC200がユーザ20からの音声を取得し、情報処理装置100が応答を生成し、生成した応答をPC200に出力させるが、情報処理装置100が有する機能をPC200が有し、PC200が全体の処理を実行してもよい。
【0029】
図3は、情報処理装置のハードウェアの一構成例を示す図である。情報処理装置100は、CPU(Central Processing Unit)101によって装置全体が制御されている。CPU101は、プログラムの命令を実行するプロセッサである。なお、CPU101は複数のプロセッサコアを含んでもよい。また、CPU101は、複数のプロセッサであってもよく、MPU(Micro Processing Unit)、またはDSP(Digital Signal Processor)等であってもよい。また、CPU101がプログラムを実行することで実現する機能の少なくとも一部を、ASIC(Application Specific Integrated Circuit)、PLD(Programmable Logic Device)等の電子回路で実現してもよい。CPU101には、バス109を介してRAM(Random Access Memory)102と複数の周辺機器が接続されている。
【0030】
RAM102は、情報処理装置100の主記憶装置である。RAM102には、CPU101に実行させるOS(Operating System)のプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、RAM102には、CPU101による処理に利用する各種データが格納される。なお、情報処理装置100は、RAM以外の種類のメモリを備えてもよく、複数個のメモリを備えてもよい。
【0031】
バス109に接続されている周辺機器としては、HDD(Hard Disk Drive)103、GPU(Graphics Processing Unit)104、入力インタフェース105、光学ドライブ装置106、機器接続インタフェース107およびネットワークインタフェース108がある。
【0032】
HDD103は、情報処理装置100の補助記憶装置である。HDD103は、内蔵した磁気ディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。HDD103には、OSのプログラム、アプリケーションプログラム、および各種データが格納される。なお、情報処理装置100は、フラッシュメモリやSSD(Solid State Drive)等の他の種類の補助記憶装置を備えてもよく、複数の補助記憶装置を備えてもよい。
【0033】
GPU104には、モニタ31が接続されている。GPU104は、CPU101からの命令に従って、画像をモニタ31の画面に表示させる。モニタ31としては、有機EL(Electro Luminescence)を用いた表示装置や液晶表示装置等がある。
【0034】
入力インタフェース105には、キーボード32とマウス33とが接続されている。入力インタフェース105は、キーボード32やマウス33から送られてくる信号をCPU101に送信する。なお、マウス33は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボール等がある。
【0035】
光学ドライブ装置106は、レーザ光等を利用して、光ディスク34に記録されたデータの読み取りを行う。光ディスク34は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク34には、DVD(Digital Versatile Disc)、DVD-RAM、CD-ROM(Compact Disc Read Only Memory)、CD-R(Recordable)/RW(ReWritable)等がある。
【0036】
機器接続インタフェース107は、情報処理装置100に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース107には、メモリ装置35やメモリリーダライタ36を接続することができる。メモリ装置35は、機器接続インタフェース107との通信機能を搭載した記録媒体である。メモリリーダライタ36は、メモリカード37へのデータの書き込み、またはメモリカード37からのデータの読み出しを行う装置である。メモリカード37は、カード型の記録媒体である。
【0037】
ネットワークインタフェース108は、ネットワーク30に接続されている。ネットワークインタフェース108は、ネットワーク30を介して、他のコンピュータまたは通信機器との間でデータの送受信を行う。
【0038】
情報処理装置100は、以上のようなハードウェア構成によって、第2の実施の形態の処理機能を実現することができる。なお、PC200も、
図3に示した情報処理装置100と同様のハードウェアにより実現することができる。ただし、PC200は、音声を入出力するためのマイクおよびスピーカをさらに有する。また、第1の実施の形態に示した情報処理装置10も、
図3に示した情報処理装置100と同様のハードウェアにより実現することができる。また、CPU101は、第1の実施の形態に示した処理部11の一例である。
【0039】
情報処理装置100は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第2の実施の形態の処理機能を実現する。情報処理装置100に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、情報処理装置100に実行させるプログラムをHDD103に格納しておくことができる。CPU101は、HDD103内のプログラムの少なくとも一部をRAM102にロードし、プログラムを実行する。また、情報処理装置100に実行させるプログラムを、光ディスク34、メモリ装置35、メモリカード37等の可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばCPU101からの制御により、HDD103にインストールされた後、実行可能となる。また、CPU101が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【0040】
図2に示すような情報処理システムで、情報処理装置100は、ユーザ20に対話システムを提供する。情報処理装置100は、ユーザ20の要求を満たす応答をするための情報を伝達するために要求される伝達要素に対応する単語がユーザ発話に含まれていれば、適切な応答ができることが多い。伝達要素には、例えば、時間を示す「いつ」、場所を示す「どこ」、物を示す「なに」、人を示す「だれ」、金額を示す「いくら」等が含まれる。また、伝達要素は、対話内容のカテゴリによって変動することがある。
【0041】
ここで、ユーザ発話に対応する単語が含まれていない伝達要素(欠落伝達要素)がある場合、ユーザ20の要求を満たす応答をするために、欠落伝達要素に対応する単語を推定するための情報を入力する入力操作をユーザ20に促すことが考えられる。しかし、ユーザ20に入力操作を促す場合、円滑な対話ができない。そこで、第2の実施の形態では、情報処理装置100は、欠落伝達要素に対応する定型文を用いた応答を出力することで円滑な対話によって欠落伝達要素をユーザ20に要求する。
【0042】
次に、情報処理装置100の機能について詳細に説明する。
図4は、情報処理装置の機能例を示すブロック図である。情報処理装置100は、記憶部110、発話解析部120、単語解析部130および応答生成部140を有する。記憶部110は、RAM102またはHDD103の記憶領域を用いて実現される。発話解析部120、単語解析部130および応答生成部140は、RAM102に記憶されたプログラムをCPU101が実行することで実現される。記憶部110は、カテゴリ情報111、意図情報112、伝達要素情報113、類義語情報114、欠落伝達要素情報115、定型文情報116およびアイテム情報117を有する。
【0043】
カテゴリ情報111は、カテゴリと単語との対応関係を示す。意図情報112は、意図と単語との対応関係を示す。伝達要素情報113は、カテゴリと伝達要素との対応関係およびカテゴリと伝達要素との組み合わせと単語との対応関係を示す。類義語情報114には、伝達要素情報113に登録されている単語の類義語が登録されている。欠落伝達要素情報115は、欠落伝達要素を特定するための情報である。定型文情報116は、カテゴリと意図と欠落伝達要素との組み合わせと、定型文との対応関係を示す。アイテム情報117は、テキスト内に含まれる単語から当該テキストと関連するアイテムを特定するための情報である。
【0044】
発話解析部120は、ユーザ20の発話音声から単語を抽出する。まず、発話解析部120は、ユーザ発話を取得する。例えば、発話解析部120は、PC200からユーザ20のユーザ発話を示す音声を取得する。発話解析部120は、取得したユーザ発話に対する音声認識によって、ユーザ発話を示すテキスト(発話テキスト)を生成し、発話テキストに含まれる単語に分割をする。なお、発話テキストは、第1の実施の形態に示した入力文1および第1入力文の一例である。
【0045】
また、発話解析部120は、応答生成部140による応答出力から一定期間内に発せられたユーザ発話(二回目以降のユーザ発話)から、単語を抽出する。例えば、発話解析部120は、二回目以降のユーザ発話を取得すると、音声認識によって二回目以降のユーザ発話を示すテキスト(二回目以降の発話テキスト)を生成し、二回目以降の発話テキストに含まれる単語に分割をする。なお、二回目以降の発話テキストは、第1の実施の形態に示した第2入力文の一例である。
【0046】
単語解析部130は、発話テキストから伝達要素それぞれに対応する単語を抽出する。まず、単語解析部130は、発話テキストのカテゴリおよび意図を特定する。例えば、単語解析部130は、カテゴリ情報111から、発話テキストに含まれる単語に対応するカテゴリを、発話テキストのカテゴリとして特定する。また、例えば、単語解析部130は、意図情報112から、発話テキストに含まれる単語に対応する意図を、発話テキストの意図として特定する。次に、単語解析部130は、欠落伝達要素情報115から発話テキストのカテゴリに対応する伝達要素を特定する。単語解析部130は、伝達要素情報113から、発話テキストのカテゴリと、発話テキストの伝達要素それぞれとに対応する単語を特定する。そして、単語解析部130は、特定した単語を発話テキストから抽出する。なお、単語解析部130は、以前の会話情報および閲覧情報から伝達要素に対応する単語を補完してもよい。
【0047】
単語解析部130は、ある伝達要素に対応する単語がいずれも発話テキストから抽出されなかった場合、当該伝達要素を発話テキストの欠落伝達要素として特定する。発話テキストの欠落伝達要素は、第1の実施の形態に示した第1欠落伝達要素の一例である。単語解析部130は、発話テキストの欠落伝達要素が特定された場合、欠落伝達要素情報115から、発話テキストの欠落伝達要素を要求するための単語(発話テキストの欠落伝達要素に対応する欠落単語)を特定する。
【0048】
また、単語解析部130は、二回目以降の発話テキストから、発話テキストのカテゴリに対応する伝達要素それぞれに対応する単語を抽出する。そして、単語解析部130は、ある伝達要素に対応する単語がいずれも発話テキストおよび二回目以降の発話テキストから抽出されなかった場合、当該伝達要素を二回目以降の発話テキストの欠落伝達要素として特定する。二回目以降の発話テキストの欠落伝達要素は、第1の実施の形態に示した第2欠落伝達要素の一例である。単語解析部130は、二回目以降の発話テキストの欠落伝達要素が特定された場合、欠落伝達要素情報115から、二回目以降の発話テキストの欠落伝達要素に対応する欠落単語を特定する。
【0049】
応答生成部140は、発話テキストに対する応答を生成し、出力する。例えば、応答生成部140は、定型文情報116から、発話テキストのカテゴリと発話テキストの意図と発話テキストの欠落伝達要素に対応する定型文を選択する。なお、発話テキストに基づいて選択された定型文は、第1の実施の形態に示した第1定型文の一例である。
【0050】
そして、応答生成部140は、欠落単語および発話テキストに含まれる単語を、選択した定型文の空欄に入れて応答テキストを生成する。応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。なお、発話テキストに基づいて出力される応答は、第1の実施の形態に示した第1応答の一例である。
【0051】
また、応答生成部140は、二回目以降の発話テキストに対する応答を生成し、出力する。例えば、応答生成部140は、定型文情報116から、発話テキストのカテゴリと発話テキストの意図と二回目以降の発話テキストの欠落伝達要素に対応する定型文を選択する。なお、二回目以降の発話テキストに基づいて選択された定型文は、第1の実施の形態に示した第2定型文の一例である。
【0052】
そして、応答生成部140は、欠落単語、発話テキストに含まれる単語および二回目以降の発話テキストに含まれる単語を、選択した定型文の空欄に入れて応答テキストを生成する。応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。なお、二回目以降の発話テキストに基づいて出力される応答は、第1の実施の形態に示した第2応答の一例である。
【0053】
また、応答生成部140は、発話テキストの欠落伝達要素または二回目以降の発話テキストの欠落伝達要素が特定されなかった場合、定型文情報116から、欠落伝達要素なしに対応する定型文を選択する。応答生成部140は、発話テキストまたは二回目以降の発話テキストに含まれる単語を選択した定型文の空欄に入れて応答テキストを生成する。応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。
【0054】
なお、
図4に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。次に、記憶部110に記憶される情報について詳細に説明する。
【0055】
図5は、カテゴリ情報の一例を示す図である。カテゴリ情報111は、カテゴリと単語との対応関係を示す。カテゴリ情報111は、No.、カテゴリA、カテゴリBおよび単語の項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリAの項目およびカテゴリBの項目それぞれには、カテゴリ名が設定される。なお、カテゴリBの項目にカテゴリ名が設定されたカテゴリが、カテゴリAの項目にカテゴリ名が設定されたカテゴリを細分化したものであってもよい。単語の項目には、カテゴリに対応する単語が設定される。
【0056】
一例として、カテゴリ情報111には、No.の項目に「0001」、カテゴリAの項目に「ファッション」、カテゴリBの項目に「洋服レディース」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの単語の項目には、「トップス」、「コート」、「ジャケット」、「スカート」および「ワンピース」が設定されている。識別番号「0001」のレコードは、「トップス」、「コート」、「ジャケット」、「スカート」および「ワンピース」のいずれかの単語が含まれるテキストが「ファッション」および「洋服レディース」のカテゴリに分類されることを示す。
【0057】
図6は、意図情報の一例を示す図である。意図情報112は、意図と単語との対応関係を示す。意図情報112は、No.、意図、処理および単語の項目を有する。No.の項目には、レコードの識別番号が設定される。意図の項目には、意図の名称が設定される。処理の項目には、意図に対する処理名が設定される。単語の項目には、意図に対応する単語が設定される。
【0058】
一例として、意図情報112には、No.の項目に「0001」、意図の項目に「検索」、処理の項目に「確認」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの単語の項目には、「調べて」、「検索して」および「おしえて」が設定されている。識別番号「0001」のレコードは、「調べて」、「検索して」および「おしえて」のいずれかの単語が含まれるテキストの意図が「検索」であることを示す。また、識別番号「0001」のレコードは、「検索」を意図とするテキストに対する処理として「確認」が適切であることを示す。
【0059】
図7は、伝達要素情報の一例を示す図である。伝達要素情報113は、カテゴリと伝達要素との対応関係およびカテゴリと伝達要素との組み合わせと単語との対応関係を示す。伝達要素情報113は、No.、カテゴリ、伝達要素および単語の項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリの項目には、カテゴリ名が設定される。伝達要素の項目には、伝達要素名が設定される。単語の項目には、カテゴリと伝達要素との組み合わせに対応する単語が設定される。
【0060】
一例として、伝達要素情報113には、No.の項目に「0001」、カテゴリの項目に「ファッション」、伝達要素の項目に「いつ」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの単語の項目には、「月」、「上旬」、「中旬」、「下旬」、「誕生日」、「記念日」、「春」、「夏」、「秋」および「冬」が設定されている。識別番号「0001」のレコードは、「ファッション」のカテゴリであるテキストの伝達要素「いつ」に対応する単語が、「月」、「上旬」、「中旬」、「下旬」、「誕生日」、「記念日」、「春」、「夏」、「秋」および「冬」であることを示す。
【0061】
図8は、類義語情報の一例を示す図である。類義語情報114には、伝達要素情報113に登録されている単語の類義語が登録されている。類義語情報114に、類義語として登録されている単語は、伝達要素情報113に登録されている単語としてあつかわれてもよい。類義語情報114は、No.、カテゴリ、伝達要素および単語の項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリの項目には、カテゴリ名が設定される。伝達要素の項目には、伝達要素名が設定される。単語の項目には、類義語の関係にある単語が設定される。
【0062】
一例として、類義語情報114には、No.の項目に「0001」、カテゴリの項目に「ファッション」、伝達要素の項目に「いつ」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの単語の項目には、「誕生日」および「記念日」が設定されている。識別番号「0001」のレコードは、「ファッション」のカテゴリであるテキストの伝達要素「いつ」に対応する単語である、「誕生日」および「記念日」が類義語の関係であることを示す。
【0063】
図9は、欠落伝達要素情報の一例を示す図である。欠落伝達要素情報115は、欠落伝達要素を特定するための情報である。なお、
図9において[]で囲まれた単語は、[]内の単語で示される種類に分類されるいずれかの単語を示す。欠落伝達要素情報115は、No.、カテゴリ、伝達要素、抽出単語、欠落伝達要素および欠落単語の項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリの項目には、カテゴリ名が設定される。伝達要素の項目には、カテゴリに対応するすべての伝達要素名が設定される。抽出単語の項目には、テキストから抽出された単語が設定される。欠落伝達要素の項目には、テキストから対応する単語が抽出されなかった欠落伝達要素名が設定される。欠落単語の項目には、欠落伝達要素に対応する欠落単語が設定される。
【0064】
一例として、欠落伝達要素情報115には、No.の項目に「0001」、カテゴリの項目に「ファッション」、伝達要素の項目に「いつ」、「どこ」、「だれ」および「なに」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの抽出単語の項目には、「彼氏」、「ディナー」および「洋服」が設定されている。また、識別番号「0001」のレコードの欠落伝達要素の項目には「いつ」、欠落単語の項目には「いつ頃」が設定されている。
【0065】
識別番号「0001」のレコードは、「ファッション」のカテゴリであるテキストの伝達要素が、「いつ」、「どこ」、「だれ」および「なに」であることを示す。また、識別番号「0001」のレコードは、「ファッション」のカテゴリであるテキストから「彼氏」、「ディナー」および「洋服」が抽出された場合、当該テキストの欠落伝達要素が「いつ」であることを示す。また、識別番号「0001」のレコードは、欠落伝達要素「いつ」に対応する欠落単語が「いつ頃」であることを示す。
【0066】
図10は、定型文情報の一例を示す図である。定型文情報116は、カテゴリと意図と欠落伝達要素との組み合わせと、定型文との対応関係を示す。なお、
図10において[]は、定型文の空欄を示す。定型文情報116は、No.、カテゴリ、意図、処理、欠落伝達要素および定型文の項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリの項目には、カテゴリ名が設定される。意図の項目には、意図の名称が設定される。処理の項目には、意図に対する処理名が設定される。欠落伝達要素の項目には、欠落伝達要素名が設定される。なお、欠落伝達要素の項目には、欠落伝達要素がないことをしめす「-」が設定されることがある。定型文の項目には、定型文が設定される。
【0067】
一例として、定型文情報116には、No.の項目に「0001」、カテゴリの項目に「ファッション」、意図の項目に「検索」、処理の項目に「確認」、欠落伝達要素の項目に「いつ」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの定型文の項目には、「[]は[]の予定ですか。」が設定されている。識別番号「0001」のレコードは、カテゴリが「ファッション」、意図が「検索」、欠落伝達要素が「いつ」であるテキストに対する処理として「確認」が適切であることを示す。また、識別番号「0001」のレコードは、カテゴリが「ファッション」、意図が「検索」、欠落伝達要素が「いつ」であるテキストに対する応答を作成するための定型文が「[]は[]の予定ですか。」であることを示す。
【0068】
図11は、アイテム情報の一例を示す図である。アイテム情報117は、テキスト内に含まれる単語から当該テキストと関連するアイテムを特定するための情報である。アイテム情報117は、No.、カテゴリ、伝達要素、意図、単語およびアイテムの項目を有する。No.の項目には、レコードの識別番号が設定される。カテゴリの項目には、カテゴリ名が設定される。伝達要素の項目には、伝達要素名が設定される。意図の項目には、意図の名称が設定される。単語の項目には、単語が設定される。アイテムの項目には、単語に関連するアイテムが設定される。
【0069】
一例として、アイテム情報117には、No.の項目に「0001」、カテゴリの項目に「ファッション」、伝達要素の項目に「なに」、意図の項目に「検索」が設定された識別番号「0001」のレコードが登録されている。識別番号「0001」のレコードの単語の項目には、「10月」、「11月」、「洋服」、「コート」、「ディナー」、「誕生日」および「懇談会」が設定されている。また、識別番号「0001」のレコードのアイテムの項目には、「トレンチコート」が設定されている。
【0070】
識別番号「0001」のレコードは、カテゴリが「ファッション」、意図が「検索」のテキストに、「10月」、「11月」、「洋服」、「コート」、「ディナー」、「誕生日」および「懇談会」のいずれかが含まれる場合、当該テキストと「トレンチコート」が関連することを示す。また、識別番号「0001」のレコードは、「トレンチコート」が伝達要素が「なに」に対応することを示す。
【0071】
以下、情報処理装置100が実行する処理の手順について、詳細に説明する。
図12は、応答処理の手順の一例を示すフローチャート(その1)である。以下、
図12に示す処理をステップ番号に沿って説明する。
【0072】
[ステップS11]発話解析部120は、ユーザ発話を取得する。例えば、発話解析部120は、PC200からユーザ20のユーザ発話を示す音声を取得する。
[ステップS12]発話解析部120は、音声認識によってユーザ発話を示すテキスト(発話テキスト)を生成し、発話テキストに含まれる単語に分割をする。例えば、発話解析部120は、ステップS11で取得したユーザ20のユーザ発話を示す音声を音声認識によって発話テキストに変換する。そして、発話解析部120は、発話テキストを形態素解析によって単語に分割する。
【0073】
[ステップS13]単語解析部130は、発話テキストのカテゴリおよび意図を特定する。例えば、単語解析部130は、カテゴリ情報111から、発話テキストに含まれる単語が単語の項目に設定されたレコードを特定する。そして、単語解析部130は、特定したレコードのカテゴリAおよびカテゴリBの項目に設定されたカテゴリを、発話テキストのカテゴリとして特定する。また、例えば、単語解析部130は、意図情報112から、発話テキストに含まれる単語が単語の項目に設定されたレコードを特定する。そして、単語解析部130は、特定したレコードの意図の項目に設定された意図を、発話テキストの意図として特定する。なお、発話テキストに含まれる単語が単語の項目に設定されたレコードがカテゴリ情報111、意図情報112に複数登録されている場合、単語解析部130は、発話テキストに含まれる単語が、最も多く単語の項目に設定されたレコードを特定する。
【0074】
[ステップS14]単語解析部130は、発話テキストのカテゴリを特定できたか否かを判定する。単語解析部130は、発話テキストのカテゴリを特定できたと判定した場合、処理をステップS15に進める。また、単語解析部130は、発話テキストのカテゴリを特定できなかったと判定した場合、処理を終了する。
【0075】
[ステップS15]単語解析部130は、発話テキストの意図を特定できたか否かを判定する。単語解析部130は、発話テキストの意図を特定できたと判定した場合、処理をステップS16に進める。また、単語解析部130は、発話テキストの意図を特定できなかったと判定した場合、処理を終了する。
【0076】
[ステップS16]単語解析部130は、欠落伝達要素があるか否かを判定する。例えば、単語解析部130は、欠落伝達要素情報115に登録されている、ステップS13で特定した発話テキストのカテゴリがカテゴリの項目に設定されたレコードの、伝達要素の項目に設定された伝達要素を特定する。単語解析部130は、伝達要素情報113から、カテゴリの項目に発話テキストのカテゴリが設定され、伝達要素の項目に欠落伝達要素情報115から特定された伝達要素のいずれかが設定されたレコードを抽出する。そして、単語解析部130は、抽出されたレコードのうち、単語の項目に発話テキストに含まれる単語が設定されていないレコードの伝達要素の項目に設定された伝達要素を発話テキストの欠落伝達要素として特定する。単語解析部130は、発話テキストの欠落伝達要素が特定された場合、欠落伝達要素があると判定し、発話テキストの欠落伝達要素が特定されなかった場合、欠落伝達要素がないと判定する。
【0077】
単語解析部130は、欠落伝達要素があると判定した場合、処理をステップS17に進める。また、単語解析部130は、欠落伝達要素がないと判定した場合、処理をステップS32に進める。
【0078】
[ステップS17]単語解析部130は、欠落伝達要素に対応する欠落単語を特定する。例えば、単語解析部130は、欠落伝達要素情報115から、カテゴリの項目に発話テキストのカテゴリが設定され、欠落伝達要素の項目に発話テキストの欠落伝達要素が設定されたレコードを特定する。そして、単語解析部130は、特定したレコードの欠落単語の項目に設定された単語を欠落伝達要素に対応する欠落単語として特定する。
【0079】
[ステップS18]単語解析部130は、以前の会話情報および閲覧情報を取得する。例えば、単語解析部130は、応答処理の履歴からユーザ20との以前の会話情報を取得する。また、例えば、単語解析部130は、HTTP(Hyper Text Transfer Protocol)のメタ情報からユーザ20がインターネットにより閲覧したとPC200が判定したテキストやWeb表示されるタイトルを、PC200から取得する。
【0080】
[ステップS19]単語解析部130は、以前の会話情報および閲覧情報を単語に分割する。例えば、単語解析部130は、ステップS18で取得したテキストを形態素解析によって単語に分割する。
【0081】
[ステップS20]単語解析部130は、以前の会話情報および閲覧情報に欠落伝達要素に対応する単語があるか否かを判定する。例えば、単語解析部130は、以前の会話情報および閲覧情報に含まれる単語が、伝達要素情報113の単語の項目に発話テキストに含まれる単語が設定されていないレコード(欠落伝達要素に対応するレコード)の単語の項目に設定されているか否かを判定する。単語解析部130は、以前の会話情報および閲覧情報に含まれる単語が、欠落伝達要素に対応するレコードの単語の項目に設定されている場合、以前の会話情報および閲覧情報に欠落伝達要素に対応する単語があると判定する。また、単語解析部130は、以前の会話情報および閲覧情報に含まれる単語が、欠落伝達要素に対応するレコードの単語の項目に設定されていない場合、以前の会話情報および閲覧情報に欠落伝達要素に対応する単語がないと判定する。
【0082】
単語解析部130は、以前の会話情報および閲覧情報に欠落伝達要素に対応する単語があると判定した場合、処理をステップS21に進める。また、単語解析部130は、以前の会話情報および閲覧情報に欠落伝達要素に対応する単語がないと判定した場合、処理をステップS22に進める。
【0083】
[ステップS21]単語解析部130は、以前の会話情報および閲覧情報に含まれる単語によって、欠落伝達要素に対応する単語を補完する。例えば、単語解析部130は、応答生成部140に、以前の会話情報および閲覧情報に含まれる単語のうち、ステップS20で特定した欠落伝達要素に対応する単語を、発話テキストに含まれる単語と同様にあつかわせる。そして、処理がステップS32に進む。
【0084】
図13は、応答処理の手順の一例を示すフローチャート(その2)である。以下、
図13に示す処理をステップ番号に沿って説明する。
[ステップS22]応答生成部140は、発話テキストの欠落伝達要素に対応する定型文を選択する。例えば、応答生成部140は、定型文情報116から、カテゴリの項目に発話テキストのカテゴリが設定され、意図の項目に発話テキストの意図が設定され、欠落伝達要素の項目に発話テキストの欠落伝達要素が設定されたレコードを特定する。そして、応答生成部140は、特定したレコードの定型文の項目に設定された定型文を選択する。
【0085】
[ステップS23]応答生成部140は、定型文、欠落単語および発話テキストに含まれる単語(抽出単語)から応答を生成し、出力する。例えば、応答生成部140は、ステップS22で選択された定型文の空欄に、ステップS17で特定された欠落単語および発話テキストに含まれる単語を入れて応答テキストを生成する。なお、定型文の空欄それぞれには伝達要素が設定されていてもよく、応答生成部140は、ステップS17で特定された欠落単語および発話テキストに含まれる単語のうち、空欄に設定された伝達要素に対応する単語を各空欄に入れてもよい。応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。
【0086】
[ステップS24]発話解析部120は、一定期間内に次のユーザ発話を取得したか否かを判定する。発話解析部120は、一定期間内に次のユーザ発話を取得したと判定した場合、処理をステップS26に進める。また、発話解析部120は、一定期間内に次のユーザ発話を取得しなかったと判定した場合、処理をステップS25に進める。
【0087】
[ステップS25]応答生成部140は、再発話処理をする。例えば、応答生成部140は、ユーザ20に発話を促すテキスト(例えば、「よく聞き取れなかった・・・。」)をPC200に送信し、送信したテキストを示す音声をPC200に出力させる。そして、処理が終了する。
【0088】
[ステップS26]発話解析部120は、二回目以降のユーザ発話を取得する。例えば、発話解析部120は、PC200からユーザ20のユーザ発話を示す音声を取得する。
[ステップS27]発話解析部120は、音声認識によって二回目以降のユーザ発話を示すテキスト(二回目以降の発話テキスト)を生成し、二回目以降の発話テキストに含まれる単語に分割をする。例えば、発話解析部120は、ステップS26で取得したユーザ20のユーザ発話を示す音声を音声認識によって二回目以降の発話テキストに変換する。そして、発話解析部120は、二回目以降の発話テキストを形態素解析によって単語に分割する。
【0089】
[ステップS28]単語解析部130は、欠落伝達要素があるか否かを判定する。単語解析部130は、伝達要素情報113から、カテゴリの項目に発話テキストのカテゴリが設定され、伝達要素の項目に欠落伝達要素情報115から特定された伝達要素のいずれかが設定されたレコードを抽出する。単語解析部130は、抽出されたレコードのうち、単語の項目に発話テキストおよび二回目以降の発話テキストに含まれる単語が設定されていないレコードの、伝達要素の項目に設定された伝達要素を二回目以降の発話テキストの欠落伝達要素として特定する。単語解析部130は、二回目以降の発話テキストの欠落伝達要素が特定された場合、欠落伝達要素があると判定し、二回目以降の発話テキストの欠落伝達要素が特定されなかった場合、欠落伝達要素がないと判定する。
【0090】
単語解析部130は、欠落伝達要素があると判定した場合、処理をステップS29に進める。また、単語解析部130は、欠落伝達要素がないと判定した場合、処理をステップS32に進める。
【0091】
[ステップS29]単語解析部130は、欠落伝達要素に対応する欠落単語を特定する。例えば、単語解析部130は、欠落伝達要素情報115から、カテゴリの項目に発話テキストのカテゴリが設定され、欠落伝達要素の項目に二回目以降の発話テキストの欠落伝達要素が設定されたレコードを特定する。そして、単語解析部130は、特定したレコードの欠落単語の項目に設定された単語を欠落伝達要素に対応する欠落単語として特定する。
【0092】
[ステップS30]応答生成部140は、発話テキストの欠落伝達要素に対応する定型文を選択する。例えば、応答生成部140は、定型文情報116から、カテゴリの項目に発話テキストのカテゴリが設定され、意図の項目に発話テキストの意図が設定され、欠落伝達要素の項目に二回目以降の発話テキストの欠落伝達要素が設定されたレコードを特定する。そして、応答生成部140は、特定したレコードの定型文の項目に設定された定型文を選択する。
【0093】
[ステップS31]応答生成部140は、定型文、欠落単語、発話テキストに含まれる単語および二回目以降の発話テキストに含まれる単語(抽出単語)から二回目以降の応答を生成し、出力する。例えば、応答生成部140は、ステップS30で選択された定型文の空欄に、ステップS29で特定された欠落単語、発話テキストに含まれる単語および二回目以降の発話テキストに含まれる単語を入れて応答テキストを生成する。応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。そして、処理がステップS24に進む。
【0094】
[ステップS32]応答生成部140は、欠落伝達要素なしに対応する定型文を選択する。例えば、応答生成部140は、定型文情報116から、カテゴリの項目に発話テキストのカテゴリが設定され、意図の項目に発話テキストの意図が設定され、欠落伝達要素の項目に「-」が設定されたレコードを特定する。そして、応答生成部140は、特定したレコードの定型文の項目に設定された定型文を選択する。
【0095】
[ステップS33]応答生成部140は、定型文、発話テキストまたは二回目以降の発話テキストに含まれる単語(抽出単語)から応答を生成し、出力する。例えば、応答生成部140は、ステップS32で選択された定型文の空欄に、発話テキストまたは二回目以降の発話テキストに含まれる単語を入れて応答テキストを生成する。なお、応答生成部140は、アイテム情報117から特定されるアイテムを定型文の空欄に入れてもよい。発話テキストまたは二回目以降の発話テキストと関連する応答生成部140は、生成した応答テキストをPC200に送信し、応答テキストを示す音声をPC200に出力させる。
【0096】
このように、応答生成部140は、発話テキストのカテゴリと発話テキストの意図と発話テキストの欠落伝達要素に対応する定型文を選択する。そして、応答生成部140は、欠落単語および発話テキストに含まれる単語を選択した定型文の空欄に入れて応答テキストを生成する。これにより、応答生成部140は、自然な対話によって、ユーザ20に欠落伝達要素に対応する単語を要求できる。よって、応答生成部140は、円滑な対話ができるシステムを実現することができる。また、応答生成部140は、ユーザ20が発話した意図に合わせた応答ができる。
【0097】
また、単語解析部130は、発話テキストに含まれる単語から発話テキストのカテゴリを特定する。これにより、単語解析部130は、対話のカテゴリによって変動することがある伝達要素を正確に特定できる。よって、応答生成部140は、正確な欠落伝達要素に対応する単語をユーザ20に要求できる。
【0098】
なお、二回目以降の発話テキストは、応答生成部140が出力した応答に対するユーザ20の応答であるため、対話全体のカテゴリを特定できないことが多い。応答生成部140は、発話テキストのカテゴリに基づいた伝達要素のうちの、二回目以降の発話テキストの欠落伝達要素に基づいて定型文を選択することで、適切に二回目以降の応答を生成することができる。よって、応答生成部140は、ユーザ20と複数回のやりとりがある場合も欠落伝達要素をユーザ20に自然に要求できる。
【0099】
次に、情報処理装置100が実行する処理の具体例について説明する。
図14は、情報処理装置とユーザとの対話の一例を示す図(その1)である。
図14の例では、発話解析部120がユーザ20のユーザ発話を音声認識によって発話テキスト51に変換したものとする。発話テキスト51は、「彼氏とディナーに着ていくおしゃれな洋服を調べて、なるべく安くて。」というテキストである。発話解析部120は、発話テキスト51を「彼氏」、「と」、「ディナー」、「に」、「着て」、「いく」、「おしゃれ」、「な」、「洋服」、「を」、「調べて」、「なるべく」、「安く」および「て」に単語分割する。
【0100】
次に、単語解析部130は、発話テキスト51に含まれる単語とカテゴリ情報111とから、発話テキスト51のカテゴリを特定する。まず、単語解析部130は、カテゴリ情報111の、「彼氏」、「ディナー」、「おしゃれ」および「洋服」が単語の項目に設定されているレコードを参照する。そして、単語解析部130は、参照したレコードのカテゴリAおよびカテゴリBの項目に設定されている、「ファッション」および「提案」を発話テキスト51のカテゴリとして特定する。
【0101】
また、単語解析部130は、発話テキスト51に含まれる単語と意図情報112とから、発話テキスト51の意図を特定する。まず、単語解析部130は、意図情報112の、「調べて」が単語の項目に設定されているレコードを参照する。そして、単語解析部130は、参照したレコードの意図の項目に設定されている、「検索」を発話テキスト51のカテゴリとして特定する。
【0102】
次に、単語解析部130は、発話テキスト51の欠落伝達要素と、発話テキスト51の欠落伝達要素に対応する欠落単語を特定する。まず、単語解析部130は、欠落伝達要素情報115の、「ファッション」がカテゴリの項目に設定されているレコードを参照する。単語解析部130は、参照したレコードの伝達要素の項目に設定された、「いつ」、「どこ」、「だれ」および「なに」をカテゴリ「ファッション」に対応する伝達要素として特定する。単語解析部130は、伝達要素情報113の、カテゴリの項目に「ファッション」が設定され、伝達要素の項目に「いつ」、「どこ」、「だれ」および「なに」のいずれかが設定されたレコードを抽出する。
【0103】
ここで、抽出したレコードのうち、伝達要素の項目に「どこ」が設定されているレコードの単語の項目には、「ディナー」が設定され、伝達要素の項目に「だれ」が設定されているレコードの単語の項目には、「彼氏」が設定されている。また、抽出したレコードのうち、伝達要素の項目に「なに」が設定されているレコードの単語の項目には、「洋服」が設定され、伝達要素の項目に「いつ」が設定されているレコードの単語の項目には、発話テキスト51に含まれる単語が設定されていない。よって、単語解析部130は、「いつ」を発話テキスト51の欠落伝達要素として特定する。そして、単語解析部130は、欠落伝達要素情報115の、カテゴリの項目に「ファッション」が設定され、欠落伝達要素の項目に「いつ」が設定されたレコードの欠落単語の項目に設定された「いつ頃」を、欠落単語として特定する。
【0104】
次に、応答生成部140は、発話テキスト51の欠落伝達要素「いつ」に対応する定型文を選択する。応答生成部140は、定型文情報116から、カテゴリの項目に「ファッション」が設定され、意図の項目に「検索」が設定され、欠落伝達要素の項目に「いつ」が設定されたレコードの定型文の項目に設定された定型文「[]は[]の予定ですか。」を選択する。
【0105】
そして、応答生成部140は、定型文「[]は[]の予定ですか。」の空欄に、欠落単語および発話テキスト51に含まれる単語を入れて応答テキストを生成する。ここで、定型文「[]は[]の予定ですか。」の1つ目の空欄には伝達要素「どこ」が設定され、2つ目の空欄には、伝達要素「いつ」が設定されているものとする。応答生成部140は、定型文「[]は[]の予定ですか。」の1つ目の空欄に、伝達要素「どこ」に対応する「ディナー」を入れ、2つ目の空欄に欠落伝達要素「いつ」に対応する欠落単語「いつ頃」を入れ、応答テキスト52を生成する。応答テキスト52は、「ディナーはいつ頃の予定ですか。」というテキストである。応答生成部140は、応答テキスト52をPC200に送信し、応答テキスト52を示す音声をPC200に出力させる。
【0106】
図15は、情報処理装置とユーザとの対話の一例を示す図(その2)である。
図15の例では、応答テキスト52に対するユーザ20のユーザ発話を、発話解析部120が発話テキスト53に変換したものとする。発話テキスト53は、「今月の30日、私の誕生日だよ。」というテキストである。発話解析部120は、発話テキスト53を「今月」、「の」、「30日」、「私」、「の」、「誕生日」および「だよ」に単語分割する。
【0107】
次に、単語解析部130は、発話テキスト53の欠落伝達要素と、発話テキスト53の欠落伝達要素に対応する欠落単語を特定する。ここで、伝達要素情報113の、カテゴリの項目に「ファッション」が設定され、伝達要素の項目に「いつ」が設定されたレコードの単語の項目には発話テキスト53に含まれる「誕生日」が設定されている。よって、単語解析部130は、カテゴリ「ファッション」について欠落伝達要素がないことを特定する。そして、単語解析部130は、カテゴリ「提案」について欠落伝達要素を特定する。
【0108】
単語解析部130は、欠落伝達要素情報115を参照し、「どこ」および「いくら」をカテゴリ「提案」に対応する伝達要素として特定する。ここで、伝達要素情報113には、「どこ」に対応する単語として発話テキスト51に含まれる「おしゃれ」が登録され、「いくら」に対応する単語として発話テキスト51,53に含まれる単語が登録されていない。すると、単語解析部130は、「いくら」を発話テキスト53の欠落伝達要素として特定する。そして、単語解析部130は、欠落伝達要素情報115を参照し、カテゴリ「提案」、欠落伝達要素「いくら」に対応する「予算」を欠落単語として特定する。
【0109】
次に、応答生成部140は、定型文情報116から、カテゴリ「提案」、意図「検索」欠落伝達要素「いくら」に対応する定型文「どれくらいの[]ですか。」を選択する。ここで、定型文「どれくらいの[]ですか。」の空欄には伝達要素「いくら」が設定されているものとする。応答生成部140は、定型文「どれくらいの[]ですか。」の空欄に欠落伝達要素「いくら」に対応する欠落単語「予算」を入れ、応答テキスト54を生成する。応答テキスト54は、「どれくらいの予算ですか。」というテキストである。応答生成部140は、応答テキスト54をPC200に送信し、応答テキスト54を示す音声をPC200に出力させる。
【0110】
図16は、情報処理装置とユーザとの対話の一例を示す図(その3)である。
図16の例では、応答テキスト54に対するユーザ20のユーザ発話を、発話解析部120が発話テキスト55に変換したものとする。発話テキスト55は、「20000円以内です。」というテキストである。発話解析部120は、発話テキスト55を「20000」、「円」、「以内」および「です」に単語分割する。
【0111】
ここで、伝達要素情報113には、カテゴリ「提案」、伝達要素「いくら」に対応する単語として、発話テキスト55に含まれる「円」が登録されている。よって、単語解析部130は、カテゴリ「提案」について欠落伝達要素がないことを特定する。これにより、単語解析部130は、カテゴリ「ファッション」および「提案」のいずれについても欠落伝達要素がないことを特定する。なお、単語解析部130は、カテゴリ「ファッション」の伝達要素「いつ」に対応する単語を、発話テキスト53に含まれる「今月」および「30日」から、「10月30日」に変換してもよい。また、単語解析部130は、カテゴリ「提案」の伝達要素「いくら」に対応する単語を、発話テキスト55に含まれる「円」および「円」の前にある数字である「20000」から、「20000円」に変換してもよい。
【0112】
次に、応答生成部140は、定型文情報116から、カテゴリ「ファッション」、意図「検索」欠落伝達要素「-」(つまり、欠落伝達要素なし)に対応する定型文「[]は[]です。[]な[]はいかがでしょうか。」を選択する。ここで、定型文「[]は[]です。[]な[]はいかがでしょうか。」の1つ目の空欄には伝達要素「いつ」が設定され、2つ目の空欄には伝達要素「いつ」に関連する単語が設定されているものとする。また、定型文「[]は[]です。[]な[]はいかがでしょうか。」の3つ目の空欄にはカテゴリ「提案」の伝達要素「どこ」が設定され、4つ目の空欄には発話テキストに関連するアイテムが設定されているものとする。
【0113】
応答生成部140は、定型文「[]は[]です。[]な[]はいかがでしょうか。」の1つ目の空欄に伝達要素「いつ」に対応する「10月30日」を入れる。また、応答生成部140は、例えば、日付と単語との対応関係を示すデータベースから、「10月30日」に関連する単語「肌寒い」を特定し、「肌寒い」を定型文「[]は[]です。[]な[]はいかがでしょうか。」の2つ目の空欄に入れる。また、応答生成部140は、定型文「[]は[]です。[]な[]はいかがでしょうか。」の3つ目の空欄にカテゴリ「提案」の伝達要素「どこ」に対応する「おしゃれ」を入れる。また、応答生成部140は、アイテム情報117の単語の項目に、発話テキスト51,53,55に含まれる単語を最も多く含むレコードのアイテムの項目に設定されているアイテムを特定する。これにより、応答生成部140は、アイテム「トレンチコート」を特定する。応答生成部140は、定型文「[]は[]です。[]な[]はいかがでしょうか。」の4つ目の空欄に「トレンチコート」を入れて、応答テキスト56を生成する。応答テキスト56は、「10月30日は肌寒いです。おしゃれなトレンチコートはいかがですか。」というテキストである。応答生成部140は、応答テキスト56をPC200に送信し、応答テキスト56を示す音声をPC200に出力させる。
【0114】
なお、定型文「[]は[]です。[]な[]はいかがでしょうか。」には、検索処理が対応付けられていてもよい。そして、応答生成部140は、PC200に、伝達要素「いくら」に対応する「20000円」およびアイテム「トレンチコート」を用いたインターネット検索を実行させ、検索結果を表示させてもよい。
【0115】
図17は、情報処理装置とユーザとの対話の流れの一例を示す図である。発話解析部120は、「彼氏とディナーに着ていくおしゃれな洋服を調べて、なるべく安くて。」という発話テキスト51を取得する。ここで、発話テキスト51には、伝達要素「いつ」および「いくら」に対応する単語が含まれていないため、ユーザ20の要求を満たす応答が困難である。
【0116】
そこで、応答生成部140は、「ディナーはいつ頃の予定ですか。」という応答テキスト52を出力することで、ユーザ20に伝達要素「いつ」に対応する単語を要求することができる。そして、発話解析部120は、「今月の30日、私の誕生日だよ。」という発話テキスト53を取得する。単語解析部130は、発話テキスト53から伝達要素「いつ」に対応する「10月30日」を特定できる。
【0117】
また、応答生成部140は、「どれくらいの予算ですか。」という応答テキスト54を出力することで、ユーザ20に伝達要素「いくら」に対応する単語を要求することができる。そして、発話解析部120は、「20000円以内です。」という発話テキスト55を取得する。単語解析部130は、発話テキスト55から伝達要素「いくら」に対応する「20000円」を特定できる。
【0118】
そして、応答生成部140は、「10月30日は肌寒いです。おしゃれなトレンチコートはいかがですか。」という応答テキスト56を出力する。このように、応答生成部140は、応答テキスト52,54により欠落伝達要素に対応する単語をユーザ20に要求することで、ユーザ20の要求を満たすことが可能な発話テキスト51に対する応答である応答テキスト56を出力できる。
【0119】
第2の実施の形態によれば、情報処理装置100の単語解析部130は、発話テキストから伝達要素それぞれに対応する単語を抽出する。情報処理装置100の応答生成部140は、伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択する。そして、応答生成部140は、発話テキストに含まれる単語と定型文とに基づいた応答を出力する。
【0120】
これにより、情報処理装置100は、自然なやりとりによって欠落伝達要素に対応する単語をユーザ20に要求できる。よって、情報処理装置100は、円滑な対話ができるシステムを実現することができる。
【0121】
また、単語解析部130は、発話テキストに含まれる単語からカテゴリを特定し、カテゴリに対応する伝達要素のうちの欠落伝達要素に基づいて定型文を選択する。これにより、情報処理装置100は、正確な欠落伝達要素に対応する単語をユーザ20に要求できる。
【0122】
また、単語解析部130は、発話テキストに含まれる単語からカテゴリを特定する。応答生成部140は、伝達要素のうちの対応する単語が発話テキストから抽出されなかった発話テキストの欠落伝達要素に基づいて定型文を選択し、発話テキストに含まれる単語と定型文とに基づいた応答を出力する。応答生成部140は、二回目以降の発話テキストを取得すると、伝達要素のうちの対応する単語が発話テキストと二回目以降の発話テキストとから抽出されなかった二回目以降の発話テキストの欠落伝達要素に基づいて定型文を選択する。応答生成部140は、発話テキストに含まれる単語と二回目以降の発話テキストに含まれる単語と定型文とに基づいた応答を出力する。これにより、情報処理装置100は、ユーザ20と複数回のやりとりがある場合も欠落伝達要素をユーザ20に自然に要求できる。
【0123】
また、単語解析部130は、発話テキストに含まれる単語から意図を特定し、欠落伝達要素と意図とに基づいて定型文を選択する。これにより、情報処理装置100は、ユーザ20が発話した意図に合わせた応答ができる。
【0124】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の2以上の構成(特徴)を組み合わせたものであってもよい。
【符号の説明】
【0125】
1 入力文
2 応答
10 情報処理装置
11 処理部
【手続補正書】
【提出日】2022-10-03
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザからの入力文と、前記ユーザに対する応答処理の履歴である会話情報と、前記ユーザのインターネットによる閲覧情報とから伝達要素それぞれに対応する単語を抽出し、前記伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、前記入力文に含まれる単語と前記会話情報に含まれる単語と前記閲覧情報に含まれる単語と前記定型文とに基づいた応答を出力する処理部、
を有する情報処理装置。
【請求項2】
前記処理部は、前記入力文に含まれる単語からカテゴリを特定し、前記カテゴリに対応する前記伝達要素のうちの前記欠落伝達要素に基づいて前記定型文を選択する、
請求項1記載の情報処理装置。
【請求項3】
前記処理部は、前記ユーザからの第1入力文に含まれる単語から前記カテゴリを特定し、前記伝達要素のうちの対応する単語が前記第1入力文と前記会話情報と前記閲覧情報とから抽出されなかった第1欠落伝達要素に基づいて第1定型文を選択し、前記第1入力文に含まれる単語と前記会話情報に含まれる単語と前記閲覧情報に含まれる単語と前記第1定型文とに基づいた第1応答を出力し、前記ユーザからの第2入力文を取得すると、前記伝達要素のうちの対応する単語が前記第1入力文と前記第2入力文と前記会話情報と前記閲覧情報とから抽出されなかった第2欠落伝達要素に基づいて第2定型文を選択し、前記第1入力文に含まれる単語と前記第2入力文に含まれる単語と前記会話情報に含まれる単語と前記閲覧情報に含まれる単語と前記第2定型文とに基づいた第2応答を出力する、
請求項2記載の情報処理装置。
【請求項4】
前記処理部は、前記入力文に含まれる単語から意図を特定し、前記欠落伝達要素と前記意図とに基づいて前記定型文を選択する、
請求項1ないし3のいずれかに記載の情報処理装置。
【請求項5】
コンピュータに、
ユーザからの入力文と、前記ユーザに対する応答処理の履歴である会話情報と、前記ユーザのインターネットによる閲覧情報とから伝達要素それぞれに対応する単語を抽出し、
前記伝達要素のうちの対応する単語が抽出されなかった欠落伝達要素に基づいて定型文を選択し、
前記入力文に含まれる単語と前記会話情報に含まれる単語と前記閲覧情報に含まれる単語と前記定型文とに基づいた応答を出力する、
処理を実行させるプログラム。