(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023123306
(43)【公開日】2023-09-05
(54)【発明の名称】情報処理装置及びプログラム
(51)【国際特許分類】
G10L 15/22 20060101AFI20230829BHJP
G10L 13/00 20060101ALI20230829BHJP
G10L 15/10 20060101ALI20230829BHJP
【FI】
G10L15/22 300Z
G10L13/00 100M
G10L15/10 500T
【審査請求】有
【請求項の数】7
【出願形態】OL
(21)【出願番号】P 2022027324
(22)【出願日】2022-02-24
(11)【特許番号】
(45)【特許公報発行日】2023-06-28
(71)【出願人】
【識別番号】518133201
【氏名又は名称】富士通クライアントコンピューティング株式会社
(74)【代理人】
【識別番号】110002147
【氏名又は名称】弁理士法人酒井国際特許事務所
(72)【発明者】
【氏名】大櫃 敏郎
(57)【要約】
【課題】ユーザとチャットボットとが会話を円滑に継続できるように、ユーザの発話に対する応答を行う情報処理装置及びプログラムを提供することにある。
【解決手段】情報処理装置は、ユーザ入力に基づいて、当該ユーザ入力の意図を推定する第1推定部と、前記意図と、前記ユーザ入力の履歴とに基づいて、ユーザによる継続的な発話を促進させる発話促進単語を特定する第1特定部と、前記意図と前記発話促進単語とに基づいて、前記応答文章を生成する生成部とを備える。
【選択図】
図1
【特許請求の範囲】
【請求項1】
ユーザ入力に基づいて、当該ユーザ入力の意図を推定する第1推定部と、
前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する第1特定部と、
前記意図と前記発話促進単語とに基づいて、前記応答文章を生成する生成部と、
を備える情報処理装置。
【請求項2】
前記発話促進単語には、前記ユーザ入力を行ったユーザの興味を引く興味単語が含まれ、
前記生成部は、前記興味単語を含む前記応答文章を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記ユーザ入力に基づいて、当該ユーザ入力の話題を推定する第2推定部と、
前記意図と、前記話題と、前記興味単語とに基づいて、前記発話促進単語に含まれる前記興味単語と連携して応答文章を形成する連携単語を特定する第2特定部とを更に備え、
前記生成部は、前記興味単語及び前記連携単語を含む前記応答文章を生成する、
請求項2に記載の情報処理装置。
【請求項4】
前記ユーザ入力の内容に含まれる複数の単語から前記話題における重要単語を抽出する抽出部と、
前記話題と前記重要単語とに基づいて、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる前記ユーザ入力に対する共感を表す共感単語を特定する第3特定部とを更に備え、
前記生成部は、前記共感単語を含む前記応答文章を生成する、
請求項3に記載の情報処理装置。
【請求項5】
前記ユーザ入力と、前記話題とに基づいて、当該ユーザ入力の内容に含まれる複数の単語のうち、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる繰り返し単語を特定する第4特定部とを更に備え、
前記生成部は、前記繰り返し単語を含む前記応答文章を生成する、
請求項3又は4に記載の情報処理装置。
【請求項6】
前記第4特定部は、複数の前記繰り返し単語を特定する、
請求項5に記載の情報処理装置。
【請求項7】
情報処理装置のコンピュータに、
ユーザ入力に基づいて、当該ユーザ入力の意図を推定する処理と、
前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する処理と、
前記意図と、前記発話促進単語とに基づいて、前記応答文章を生成する処理と、
を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明の実施形態は、情報処理装置及びプログラムに関する。
【背景技術】
【0002】
近年、ユーザによる音声や文字等の入力に対して自動応答を行うシステム(以下、チャットボットともいう)が知られている。従来、ユーザとチャットボットとの会話が連続的で円滑に進むように、事前にシステム側が準備した複数の選択肢の中からユーザが選択した台詞の履歴に基づいて、チャットボットが、「えー」「あー」等の会話の合間に挟みこまれる感情等を表現する言葉(以下、フィラーともいう)を挿入する技術が提案されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
上記のような、事前にシステム側が準備した台詞の選択履歴に基づいてフィラーを挿入する方法では、通常会話からのフィラーによる繋ぎ単語を入れた会話を想定した場合、想定した台詞がユーザから発せられないと利用できない場合がある。また、選択履歴に基づいて挿入したフィラーが現在の会話に応じた感情を表すものでない場合もある。このため、フィラーを挿入する方法では、自信がない応答や複雑な文章からなる応答となってしまう場合がある。
【0005】
従って、本発明が解決する課題の一例は、ユーザとチャットボットとが会話を円滑に継続できるように、ユーザの発話に対する応答を行うことができる情報処理装置及びプログラムを提供することにある。
【課題を解決するための手段】
【0006】
本発明の第1態様は、ユーザ入力に基づいて、当該ユーザ入力の意図を推定する第1推定部と、前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する第1特定部と、前記意図と前記発話促進単語とに基づいて、前記応答文章を生成する生成部とを備える情報処理装置である。
【0007】
また、前記発話促進単語には、前記ユーザ入力を行ったユーザの興味を引く興味単語が含まれ、前記生成部は、前記興味単語を含む前記応答文章を生成してもよい。
【0008】
また、情報処理装置は、前記ユーザ入力に基づいて、当該ユーザ入力の話題を推定する第2推定部と、前記意図と、前記話題と、前記興味単語とに基づいて、前記発話促進単語に含まれる前記興味単語と連携して応答文章を形成する連携単語を特定する第2特定部とを更に備え、前記生成部は、前記共感単語及び前記連携単語を含む前記応答文章を生成してもよい。
【0009】
前記ユーザ入力の内容に含まれる複数の単語から前記話題における重要単語を抽出する抽出部と、前記話題と前記重要単語とに基づいて、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる前記ユーザ入力に対する共感を表す共感単語を特定する第3特定部とを更に備え、前記生成部は、前記共感単語を含む前記応答文章を生成してもよい。
【0010】
また、情報処理装置は、前記ユーザ入力に基づいて、当該ユーザ入力の話題を推定する第2推定部と、前記ユーザ入力と、前記話題とに基づいて、当該ユーザ入力の内容に含まれる複数の単語のうち、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる繰り返し単語を特定する第4特定部とを更に備えていてもよい。
【0011】
また、前記第4特定部が、複数の前記繰り返し単語を特定するようにしてもよい。
【0012】
また、本発明の第2態様は、ユーザ入力に基づいて、当該ユーザ入力の意図を推定する処理と、前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する処理と、前記意図と、前記発話促進単語とに基づいて、前記応答文章を生成する処理と、を情報処理装置のコンピュータに実行させるプログラムである。
【発明の効果】
【0013】
本発明によれば、ユーザとチャットボットとが会話を円滑に継続できるように、ユーザの発話に対する応答を行うことが可能となる。
【図面の簡単な説明】
【0014】
【
図1】
図1は、実施形態に係る情報処理システムの構成の一例を模式的に示す図である。
【
図2】
図2は、実施形態に係る単語カテゴリデータベース(DB)の構造の一例を模式的に示す図である。
【
図3】
図3は、実施形態に係る意図推定データベース(DB)の構造の一例を模式的に示す図である。
【
図4】
図4は、実施形態に係る重要単語データベース(DB)の構造の一例を模式的に示す図である。
【
図5】
図5は、実施形態に係る会話推定データベース(DB)の構造の一例を模式的に示す図である。
【
図6】
図6は、実施形態に係る興味単語データベース(DB)の構造の一例を模式的に示す図である。
【
図7】
図7は、実施形態に係る連携単語データベース(DB)の構造の一例を模式的に示す図である。
【
図8】
図8は、実施形態に係る定型文データベース(DB)の構造の一例を模式的に示す図である。
【
図9】
図9は、実施形態に係る情報処理システムにおいて実行される、情報処理の一例を示すフローチャートである。
【
図10】
図10は、実施形態に係る情報処理により実現される会話の一例を模式的に示す図である。
【
図11】
図11は、実施形態に係る情報処理システムを実現するコンピュータのハードウェア構成の一例を模式的に示す図である。
【発明を実施するための形態】
【0015】
以下に添付図面を参照して、実施形態に係る情報処理装置及びプログラムの実施形態を詳細に説明する。
【0016】
図1は、実施形態に係る情報処理システム1の構成の一例を模式的に示す図である。実施形態に係る情報処理システム1は、ユーザによる入力を受け付け、入力内容を解析する。また、情報処理システム1は、入力内容に対する応答を解析結果に応じて自動生成し、ユーザへの応答を出力する。本実施形態では、ユーザによる入力として、ユーザの発話内容を示す音声データを例示するが、これに限らない。ユーザによる入力としては、テキストデータであっても構わない。
【0017】
図1に示すように、情報処理システム1は、端末装置100及びサーバ装置200を有する。端末装置100及びサーバ装置200は、インターネット等のネットワーク(不図示)を介して互いに通信可能に接続されている。
【0018】
一例として、情報処理システム1は、端末装置100を使用するユーザと、サーバ装置200により実現されるチャットボットとの間における会話を実現するチャットボットシステムである。以下、サーバ装置200により実現される機能をチャットボットと記載する場合もある。
【0019】
端末装置100は、
図1に示すように、通信部110、入力部120及び出力部130を有する。
【0020】
通信部110は、端末装置100と他の装置(
図1に示される例ではサーバ装置200)との間で通信を実行する。
【0021】
入力部120は、端末装置100のユーザの発話に応じた音声データの入力を受け付ける。入力部120は、受け付けた音声データを通信部110によりサーバ装置200へ送信する。
【0022】
出力部130は、通信部110によりサーバ装置200からの応答を受信したとき、ユーザに当該応答を音声や画像で通知する。
【0023】
サーバ装置200は、通信部210、文章解析部220、単語カテゴリデータベース(DB)221、単語解析部230、意図推定データベース231、重要単語データベース232、会話推定データベース233、興味単語データベース234、応答生成部240、連携単語データベース241、定型文データベース242及び管理部250を有する。
【0024】
通信部210は、サーバ装置200と他の装置(
図1に示される例では端末装置100)との間で通信を実行する。
【0025】
文章解析部220は、端末装置100を用いてユーザにより入力されたユーザ発話を示す音声データに対して音声認識による解析を行い、ユーザ発話を示すテキストデータを生成する。また、文章解析部220は、公知の形態素解析により、ユーザ発話を示すテキストデータに含まれる形態素を取得する。
【0026】
換言すれば、文章解析部220は、形態素解析により、テキスト化されたユーザ発話を単語分割する。文章解析部220は、単語カテゴリデータベース221を用いて、単語分割により得られた単語から抽出単語を選定する。また、文章解析部220は、抽出単語に対応する話題を推定する。文章解析部220は、単語分割により得られた単語及び推定された話題を、単語解析部230に供給する。
【0027】
単語カテゴリデータベース221は、抽出単語と、各抽出単語に対応する話題とが登録されたデータベースである。
【0028】
なお、単語カテゴリデータベース221に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0029】
図2は、実施形態に係る単語カテゴリデータベース221の構造の一例を模式的に示す図である。
【0030】
図2に示す例では、話題「ファッション」に対応する抽出単語として、「[服アイテム]」、「似合う」、「おしゃれ」、「トレンド」、「買う」が登録されている。なお、「[服アイテム]」は、具体的な服の名称(例えば、ワンピース等)を表している。
【0031】
また、話題「季節」に対応する抽出単語として、「春」、「初夏」、「夏」、「秋」、「晩秋」、「冬」、「梅雨」及び「季節」が登録されている。また、話題「旅行」に対応する抽出単語として、「旅行」、「ハワイ」、「グアム」、「東京」、「京都」、「北海道」、「行く」及び「今度」が登録されている。また、話題「ファッション提案」のカテゴリに対応する抽出単語として、「似合う」、「コーデ」、「洋服」、「ディナー」、「おしゃれ」、「予算」及び「彼氏」が登録されている。
【0032】
なお、抽出単語が複数の話題に存在する場合には、例えば抽出単語が多く含まれる話題が推定されればよい。あるいは、抽出単語が複数の話題に存在する場合に、No順に上位の話題が推定される構成とすることもできる。
【0033】
単語解析部230は、意図推定データベース231を用いて、文章解析部220から入力される単語からユーザ発話の意図、すなわち発話意図を推定する。換言すれば、単語解析部230は、意図推定データベース231と、単語分割により得られた単語とに基づいて、ユーザ発話の発話意図を表すカテゴリを推定する。
【0034】
また、単語解析部230は、重要単語データベース232を用いて、文章解析部220から入力される単語から重要度が高い単語である重要単語を特定する。さらに、単語解析部230は、特定した重要単語に基づいて、繰り返し単語を特定する。例えば、単語解析部230は、重要単語に予め定められた優先順位に従い、繰り返し単語を特定する。
【0035】
なお、単語解析部230は、複数の繰り返し単語を特定してもよい。また、単語解析部230は、重要単語が特定できない場合、繰り返し単語を特定する処理を省略してもよい。
【0036】
そして、単語解析部230は、特定された繰り返し単語を応答文章の生成に用いる繰り返し単語として追加する。
【0037】
また、単語解析部230は、会話推定データベース233を用いて、推定された話題及び特定された繰り返し単語に基づいて、ユーザの発話に対する共感を表す共感単語を特定する。なお、単語解析部230は、繰り返し単語から共感単語を特定できない場合、共感単語を特定する処理を省略してもよい。そして、単語解析部230は、特定された共感単語を応答文章の生成に用いる共感単語として追加する。
【0038】
また、単語解析部230は、興味単語データベース234を用いて、推定されたカテゴリ及びユーザ発話よりも前に行われたユーザの行為(例えば、対象のユーザ発話よりも前に行われたユーザとチャットボットとの会話を表す前会話情報)からユーザの興味を引く単語である興味単語を特定する。そして、単語解析部230は、特定された興味単語を応答文章の生成に用いる興味単語として追加する。
【0039】
また、単語解析部230は、追加された繰り返し単語、共感単語、及び興味単語を応答生成部240に供給する。
【0040】
意図推定データベース231は、各発話意図を表すカテゴリに対応する抽出単語が登録されたデータベースである。換言すれば、意図推定データベース231は、単語(抽出単語)と当該単語を含むカテゴリを示す発話意図との対応が登録されたデータベースである。
【0041】
なお、意図推定データベース231に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0042】
図3は、実施形態に係る意図推定データベース231の構造の一例を模式的に示す図である。
【0043】
図3に示す例では、カテゴリ「検索」に対応する抽出単語として、「調べて」、「検索して」、及び「おしえて」が登録されている。また、カテゴリ「質問」に対応する抽出単語として、「しますか」、「だね」、「どうなの」、「ありますか」及び「どちら」が登録されている。
【0044】
また、カテゴリ「挨拶」に対応する抽出単語として、「いかがですか」、「こんにちは」、「おはよう」、「ですね」、及び「きましたね」が登録されている。カテゴリ「雑談」に対応する抽出単語として、「今日」、「今度」、「する」、「行く」、「着る」、「見た」、「暑い」、「寒い」、「どう」、「思う」、「知ってる」、「調子」、「旅行」、「買う」、及び「決まる」が登録されている。
【0045】
また、カテゴリ「相槌」に対応する抽出単語として、「ああ」、「もう」、「その通り」、「そうですか」、「本当」、「すごいです」及び「同感」が登録されている。
【0046】
なお、抽出単語が複数のカテゴリに存在する場合には、例えば抽出単語が多く含まれるカテゴリが推定されればよい。あるいは、抽出単語が複数のカテゴリに存在する場合に、No順に上位のカテゴリが推定される構成とすることもできる。
【0047】
重要単語データベース232は、話題毎に重要単語が登録されたデータベースである。換言すれば、重要単語データベース232は、話題と当該話題における重要単語との対応が登録されたデータベースである。なお、重要単語データベース232に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0048】
図4は、実施形態に係る重要単語データベース232の構造の一例を模式的に示す図である。
【0049】
図4に示す例では、話題「ファッション」に対応する重要単語として、「身体」、「素材」、「着る」、「心地良い」、「[服アイテム]」及び「似合う」が登録されている。また、話題「季節」に対応する重要単語として、「初詣」、「節分」、「バレンタインデー」、「春一番」及び「ひな祭り」が登録されている。
【0050】
また、話題「旅行」に対応する重要単語として、「旅行」、「行く」、「写真」、「動画」、「撮影」、「予約」及び「[場所]」が登録されている。なお、「[場所]」は具体的な場所の名前(例えば、東京等)を表している。また、話題「ファッション提案」に対応する重要単語として、「彼氏」、「誕生会」及び「謝恩会」が登録されている。また、話題「天気」に対応する重要単語として、「天気」、「季節」、「暑い」、「寒い」、「雨」、「晴れ」及び「曇り」が登録されている。
【0051】
また、話題「趣味」に対応する重要単語として、「渋谷」、「カフェ」及び「遊園地」が登録されている。また、話題「娯楽」に対応する重要単語として、「音楽」、「読書」、「釣り」及び「ゴルフ」が登録されている。また、話題「健康」に対応する重要単語として、「食」及び「プレゼント」が登録されている。
【0052】
会話推定データベース233は、話題及び重要単語の組毎に共感単語が登録されたデータベースである。換言すれば、会話推定データベース233は、話題及び重要単語の組と、当該組における共感単語との対応が登録されたデータベースである。
【0053】
なお、会話推定データベース233に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0054】
図5は、実施形態に係る会話推定データベース233の構造の一例を模式的に示す図である。
【0055】
図5に示す例では、話題「ファッション」及び重要単語「「[服アイテム]」、「買う」」との組に対応する共感単語として、「ピッタリだね」が登録されている。また、話題「ファッション」及び重要単語「「[服アイテム]」、「何か」、「流行」」の組に対応する共感単語として、「探してみようか」が登録されている。また、話題「ファッション」及び重要単語「「[服アイテム]」、「センス」」の組に対応する共感単語として、「素敵です」が登録されている。
【0056】
また、話題「季節」及び重要単語「「[季節]」、「寒い」、「暑い」」の組に対応する共感単語として、「まだ季節は変わってないかな」が登録されている。また、話題「季節」及び重要単語「「[季節]」、「晴れ」、「雨」」の組に対応する共感単語として、「こんな天候が続くかな」が登録されている。
【0057】
また、話題「旅行」及び重要単語「「[場所]」、「旅行」、「行く」」の組に対応する共感単語として、「いいなぁ」が登録されている。また、話題「旅行」及び重要単語「「[アイテム]」、「旅行」、「買う」」の組に対応する共感単語として、「それはいい買い物だね」が登録されている。また、話題「旅行」及び重要単語「「[日時]」、「旅行」、「計画」」の組に対応する共感単語として、「[日時]はいい季節だね」が登録されている。
【0058】
興味単語データベース234は、カテゴリ及び抽出単語の組に対応する興味単語が登録されたデータベースである。換言すれば、会話推定データベース233は、カテゴリ及び抽出単語の組と、当該組における興味単語との対応が登録されたデータベースである。
【0059】
なお、興味単語データベース234に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0060】
図6は、実施形態に係る興味単語データベース234の構造の一例を模式的に示す図である。
【0061】
図6に示す例では、カテゴリ「検索」及び抽出単語「「[予約]」、「チケット」」との組に対応する興味単語として、「「[日時]」、「[場所]」、「席」」が登録されている。なお、[予約]は、具体的な予約の内容(例えば、コンサートのチケットの予約等)を表している。
【0062】
また、カテゴリ「検索」及び抽出単語「「[予約]」、「[店名種類]」」との組に対応する興味単語として、「「[店舗名]」、「[場所]」」が登録されている。なお、「[店名種類]」は、具体的な店名及び店のジャンル(例えば、○○屋・イタリアン等)を表している。また、カテゴリ「検索」及び抽出単語「「[販売]」、「[物品名]」」との組に対応する興味単語として、「「[場所]」、「[いつ]」」が登録されている。なお、「[いつ]」は、具体的な日時(例えば、2月2日等)を表している。
【0063】
また、カテゴリ「雑談」及び抽出単語「「[部位]」、「調子」との組に対応する興味単語として、「「[部位]」、「[季節]」、「[時間]」」が登録されている。なお、「[部位]」は、具体的な身体の部位(例えば、お腹等)を表している。
【0064】
また、カテゴリ「雑談」及び抽出単語「「[服アイテム]」、「似合う」との組に対応する興味単語として、「「[服アイテム]」、「思う」、「センス」、「おしゃれ」」が登録されている。また、カテゴリ「雑談」及び抽出単語「「[天候]」、「おでかけ」との組に対応する興味単語として、「「[天候]」、「[季節]」」が登録されている。
【0065】
応答生成部240は、連携単語データベース241を用いて、単語解析部230から入力される興味単語から、繰り返し単語、共感単語、及び興味単語と連携して応答文章を形成する連携単語を特定する。なお、応答生成部240は、興味単語から連携単語を特定できない場合、連携単語を特定する処理を省略してもよい。
【0066】
また、応答生成部240は、定型文データベース242を用いて、繰り返し単語、共感単語、興味単語、及び連携単語により、応答文章を生成する。応答生成部240は、通信部210により、応答文章を端末装置100へ送信する。
【0067】
なお、応答生成部240は、繰り返し単語、共感単語、及び連携単語のない応答文章を生成してもよい。また、応答生成部240は、予め定めた基準に基づいて、生成された応答文章が意味の通る文章であるか否かを判定する処理を行ってもよい。
【0068】
連携単語データベース241は、会話のカテゴリ、会話の話題及び興味単語の組に対応する連携単語が登録されたデータベースである。換言すれば、連携単語データベース241は、会話のカテゴリ、会話の話題及び興味単語の組と、当該組における連携単語との対応が登録されたデータベースである。
【0069】
なお、連携単語データベース241に登録される情報は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0070】
図7は、実施形態に係る連携単語データベース241の構造の一例を模式的に示す図である。
【0071】
図7に示す例では、カテゴリ「雑談」、話題「ファッション」、興味単語「「[服アイテム]」との組に対応する連携単語として、「着る」が登録されている。また、カテゴリ「雑談」、話題「ファッション」、興味単語「流行」との組に対応する連携単語として、「[色]が最先端」が登録されている。なお、「[色]」は具体的な色(例えば、レッド等)を表している。また、カテゴリ「雑談」、話題「ファッション」、興味単語「[物品名]」との組に対応する連携単語として、「[場所]があなたに合う」が登録されている。
【0072】
また、カテゴリ「雑談」、話題「旅行」、興味単語「[場所]」との組に対応する連携単語として、「行ったこと」が登録されている。また、カテゴリ「雑談」、話題「旅行」、興味単語「[服アイテム]」との組に対応する連携単語として、「「[服アイテム]」、「センスある」」が登録されている。また、カテゴリ「雑談」、話題「旅行」、興味単語「「[天候]」、「お出かけ」」との組に対応する連携単語として、「「[天候]」でいいところ探そうか」が登録されている。
【0073】
定型文データベース242は、カテゴリ、話題及び興味単語の組に対応する定型文が登録されているデータベースである。換言すれば、定型文データベース242は、カテゴリ、話題及び興味単語の組と当該組に対応する定型文とが登録されたデータベースである。
【0074】
なお、定型文データベース242に登録される定型文は、過去のユーザからの応答に基づいてパラメータが学習された機械学習モデル等により生成されたものであってもよいし、人為的に生成されたものであってもよい。
【0075】
図8は、実施形態に係る定型文データベース242の構造の一例を模式的に示す図である。
【0076】
図8に示す例では、カテゴリ「雑談」、話題「ファッション」、及び興味単語「[服アイテム]」の組に対応する定型文として、「[繰り返し単語]に[繰り返し単語]んだ、[共感単語]、[興味単語]を[連携単語]の?」が登録されている。また、カテゴリ「雑談」、話題「ファッション」、及び興味単語「流行」の組に対応する定型文として、「[繰り返し単語]の[繰り返し単語]ですか、[共感単語]、[興味単語]は[連携単語]だね」が登録されている。
【0077】
また、カテゴリ「雑談」、話題「ファッション」、及び興味単語「[物品名]」の組に対応する定型文として、「[繰り返し単語]から、[繰り返し単語]なのですね。[共感単語]、[興味単語]は[連携単語]かな」が登録されている。
【0078】
また、カテゴリ「雑談」、話題「旅行」、及び興味単語「[場所]」の組に対応する定型文として、「[繰り返し単語]の[繰り返し単語]を計画してるんだね、[共感単語]、[興味単語]には[連携単語]がありますか」が登録されている。
【0079】
また、カテゴリ「雑談」、話題「旅行」、及び興味単語「[観光アイテム]」の組に対応する定型文として、「[繰り返し単語]は[繰り返し単語]だよね。[繰り返し単語]に行くなら[興味単語]はいかがでしょうかねぇ」が登録されている。なお、「[観光アイテム]」は、土産品等の具体的な名称(例えば、○○焼等)を表している。
【0080】
また、カテゴリ「雑談」、話題「旅行」、及び興味単語「[食事]」の組に対応する定型文として、「[繰り返し単語]で[繰り返し単語]を食べるんだ。今なら[興味単語]を[連携単語]で、おいしそうだね」が登録されている。なお、「[食事]」は、食材等の具体的な名称(例えば、鯖等)を表している。
【0081】
管理部250は、端末装置100やユーザを識別するユーザ情報を管理する。また、管理部250は、通信部210により、ユーザの音声入力を要求する要求情報を端末装置100に送信する。
【0082】
なお、
図2乃至
図8に例示する単語カテゴリデータベース221、意図推定データベース231、重要単語データベース232、会話推定データベース233、興味単語データベース234、連携単語データベース241及び定型文データベース242の各データベースの構成は一例であり、任意に設定可能である。
【0083】
図9は、実施形態に係る情報処理システム1において実行される、情報処理の一例を示すフローチャートである。ここでは、
図9の流れがサーバ装置200で実行される場合を例示する。また、前提として、端末装置100によりユーザ発話が入力されているものとする。
【0084】
まず、管理部250は、通信部210と協働し、端末装置100からユーザ発話を示す音声データを取得する(S101)。
【0085】
文章解析部220は、取得されたユーザ発話を示す音声データに対する音声認識処理及び文章単語分割処理を行う(S102)。
【0086】
その後、文章解析部220は、単語カテゴリデータベース221により話題を推定するための単語を抽出する(S103)。具体的には、文章解析部220は、ユーザ発話を文章単語分割処理することにより分割された複数の単語の中から、単語カテゴリデータベース221に抽出単語として登録されている単語を抽出する。
【0087】
その後、文章解析部220は、抽出単語から話題を推定する(S104)。具体的には、文章解析部220は、単語カテゴリデータベース221を参照し、S103で抽出された抽出単語に対応する話題を、当該会話の話題として推定する。
【0088】
その後、単語解析部230は、カテゴリ判別可能であるか否かを確認する(S105)。具体的には、単語解析部230は、まず、意図推定データベース231によりカテゴリを推定するための単語を抽出する。
【0089】
次いで、単語解析部230は、カテゴリに対応する抽出単語が意図推定データベース231にあるか否かを確認する。抽出単語が意図推定データベース231にない場合、単語解析部230は、カテゴリ判別不可能であると判定する。一方、抽出単語が意図推定データベース231にある場合、単語解析部230は、カテゴリ判別可能であると判定する。カテゴリ判別不可能な場合(S105:No)、単語解析部230は、処理を中止する(S118)。その後、
図9の流れは終了する。
【0090】
一方、カテゴリ判別可能な場合(S105:Yes)、単語解析部230は、会話のカテゴリを推定する(S106)。具体的には、単語解析部230は、意図推定データベース231を参照し、ユーザ発話を文章単語分割処理することにより分割された複数の単語の中に含まれる、複数の抽出単語の組に対応するカテゴリを当該会話のカテゴリとして推定する。
【0091】
その後、単語解析部230は、文章単語分割処理により分割された複数の単語の中に推定された話題における重要単語があるか否かを判定する(S107)。具体的には、単語解析部230は、重要単語データベース232を参照し、ユーザ発話を文章単語分割処理することにより分割された複数の単語の中に、S104で推定した話題に対応する重要単語があるか否かを判定する。推定された話題における重要単語がない場合(S107:No)、
図9の流れはS118の処理へ進む。
【0092】
一方、推定された話題における重要単語がある場合(S107:Yes)、単語解析部230は、ユーザ発話に含まれる重要単語を特定する(S108)。具体的には、単語解析部230は、重要単語データベース232を参照し、推定された話題に対応する重要単語であって、かつ、文章単語分割処理により分割された複数の単語の中に含まれる単語をユーザ発話に含まれる重要単語として特定する。
【0093】
その後、単語解析部230は、特定された重要単語から繰り返し単語を特定する(S109)。具体的には、1つの重要単語が特定された場合、単語解析部230は、当該重要単語を繰り返し単語として特定する。一方、複数の重要単語が特定された場合、単語解析部230は、話題毎に予め定めた重要単語の優先順位に従い、繰り返し単語を特定する。
【0094】
なお、重要単語の優先順位は、例えば、これまでに行われた会話において当該単語が登場した回数等に基づいて定められる。また、単語解析部230は、複数の繰り返し単語を特定してもよい。
【0095】
その後、単語解析部230は、推定された話題及び繰り返し単語に基づき、会話推定データベース233から共感単語を特定する(S110)。具体的には、単語解析部230は、会話推定データベース233を参照し、推定された話題及び繰り返し単語の組に対応する共感単語を当該会話における共感単語として特定する。
【0096】
その後、管理部250は、ユーザ発話を入力したユーザの前会話情報を取得する(S111)。具体的には、管理部250は、後述するストレージ730等に記憶されたユーザの前会話情報を取得する。なお、ここでは、前会話情報には、チャットボットと対象ユーザとが以前に行った会話に関する情報だけでなく、対象ユーザのWebページの閲覧履歴等の情報も含まれるものとする。
【0097】
その後、文章解析部220は、取得された前会話情報に対する、文章抽出処理、文章認識処理及び文章単語分割処理を行う(S112)。
【0098】
その後、文章解析部220は、S103と同様の処理で、単語カテゴリデータベース221により話題を推定するための単語を抽出する(S113)。
【0099】
その後、文章解析部220は、S104と同様の処理で、抽出単語から話題を推定する(S114)。
【0100】
その後、単語解析部230は、S105と同様の処理で、カテゴリ判別可能であるか否かを確認する(S115)。カテゴリ判別不可能な場合(S115:No)、
図9の流れはS111の処理へ戻り、管理部250は、別の前会話情報を取得する。なお、所定回数S111乃至S115の処理を繰り返しても、カテゴリ判別不可能な場合、S118の処理へ進み、
図9の流れを終了させてもよい。
【0101】
一方、カテゴリ判別可能な場合(S115:Yes)、単語解析部230は、S106と同様の処理で、前会話情報のカテゴリを推定する(S116)。
【0102】
その後、単語解析部230は、今回のユーザ発話のカテゴリと前会話情報のカテゴリとが同一のカテゴリであるか否かを判定する(S117)。カテゴリが同一でない場合(S117:No)、
図9の流れはS111の処理へ戻り、管理部250は、別の前会話情報を取得する。
【0103】
一方、カテゴリが同一である場合(S117:Yes)、単語解析部230は、抽出単語の組から、推定された、今回のユーザ発話と前会話情報との共通のカテゴリ(以下、共通カテゴリともいう)に対応する興味単語を特定する(S119)。
【0104】
具体的には、まず、単語解析部230は、興味単語データベース234を参照し、前会話情報を文単語分割処理することにより分割された複数の単語の中から、S117で推定された、共通カテゴリに対応する抽出単語を抽出する。また、単語解析部230は、興味単語データベース234を参照し、共通カテゴリと、前会話情報の抽出単語との組に対応する興味単語を特定する。
【0105】
その後、単語解析部230は、前会話情報に、S119で特定された興味単語が含まれるか否かを確認する(S120)。具体的には、単語解析部230は、前会話情報を文単語分割処理することにより分割された複数の単語の中に、S119で特定された興味単語が存在するか否かを確認する。
【0106】
前会話情報に興味単語が含まれない場合(S120:No)、単語解析部230は、興味単語データベース234に基づいて、応答文章の生成に用いる興味単語を特定する(S121)。
【0107】
具体的には、S119で1つの興味単語が特定された場合、単語解析部230は、当該興味単語を応答文章の生成に用いる興味単語として特定する。一方、S119で複数の興味単語が特定された場合、単語解析部230は、カテゴリと抽出単語との組毎に、予め定められた興味単語の優先順位に従い、S119で特定された興味単語の中から、応答文章の生成に用いる興味単語を特定する。
【0108】
なお、興味単語の優先順位は、例えば、これまでに行われた、複数のユーザの会話の履歴において当該単語が登場した回数等に基づいて定められる。また、単語解析部230は、複数の単語を応答文章の生成に用いる興味単語として特定してもよい。
【0109】
一方、前会話情報に興味単語が含まれる場合(S120:Yes)、単語解析部230は、前会話情報に基づいて、応答文章の生成に用いる1の興味単語を特定する(S122)。
【0110】
具体的には、S119で1つの興味単語が特定され、かつ、当該興味単語が前会話情報に含まれる場合、単語解析部230は、当該興味単語を応答文章の生成に用いる興味単語として特定する。一方、S119で複数の興味単語が特定され、かつ、当該複数の興味単語のうちの1つが前会話情報に含まれる場合、単語解析部230は、前会話情報に含まれる1つの興味単語を応答文章の生成に用いる興味単語として特定する。
【0111】
また、S119で複数の興味単語が特定され、かつ、当該複数の興味単語のうちの複数が前会話情報に含まれる場合、単語解析部230は、例えば、当該複数の興味単語のうち、対象ユーザの会話中に登場する回数が最も多い興味単語を応答文章の生成に用いる興味単語として特定する。
【0112】
その後、応答生成部240は、推定された話題、カテゴリ及び特定された興味単語に基づき連携単語データベース241から連携単語を特定する(S123)。具体的には、応答生成部240は、連携単語データベース241を参照し、推定された話題と、推定されたカテゴリと、特定された興味単語との組に対応する連携単語を特定する。
【0113】
その後、応答生成部240は、推定された話題、カテゴリ及び特定された興味単語に基づき定型文データベース242から定型文を特定する(S124)。具体的には、応答生成部240は、定型文データベース242を参照し、推定された話題と、推定されたカテゴリと、特定された興味単語との組に対応する定型文を特定する。
【0114】
その後、応答生成部240は、特定された繰り返し単語、共感単語、興味単語、連携単語、及び定型文に基づき応答文章を生成する(S125)。具体的には、応答生成部240は、S124で特定された定型文に、S109で特定された繰り返し単語、S110で特定された共感単語、S121又はS122で特定された興味単語、S123で特定された連携単語をあてはめ、応答文章を生成する。
【0115】
その後、応答生成部240は、通信部210により、端末装置100に応答文章を出力する(S126)。ここで、端末装置100の出力部130は、通信部110によりサーバ装置200からの応答文章を受信したとき、ユーザに当該応答文章を音声や画像で通知する。
【0116】
その後、管理部250は、所定時間内に次のユーザ発話が入力されたか否かを確認する(S127)。所定時間内に次のユーザ発話が入力されなかった場合(S127:No)、応答生成部240は、ユーザの発話を促す文章を端末装置100に出力する再発話処理を行う(S135)。例えば、応答生成部240は、「よくわからないから、もう少し詳しくおしえて」等の文章を出力する。その後、
図9の流れはS127の処理へ戻る。
【0117】
一方、所定時間内に次のユーザ発話が入力された場合(S127:Yes)、管理部250は、S101と同様の処理で、ユーザ発話を示す音声データを取得する(S128)。
【0118】
その後、文章解析部220は、S102と同様の処理で、音声認識処理及び文章単語分割処理を行う(S129)。
【0119】
その後、文章解析部220は、S103と同様の処理で、単語カテゴリデータベース221により話題を推定するための単語を抽出する(S130)。
【0120】
その後、文章解析部220は、S104と同様の処理で、抽出単語から話題を推定する(S131)。
【0121】
その後、単語解析部230は、S105と同様の処理で、カテゴリ判別可能であるか否かを確認する(S132)。カテゴリ判別不可能な場合(S132:No)、
図9の流れはS135の処理へ進む。
【0122】
一方、カテゴリ判別可能な場合(S132:Yes)、単語解析部230は、S106と同様の処理で、S128で取得されたユーザ発話のカテゴリを推定する(S133)。
【0123】
その後、単語解析部230は、今回のユーザ発話のカテゴリと前回のユーザ発話のカテゴリとが同一のカテゴリであるか否かを判定する(S134)。カテゴリが同一でない場合(S134:No)、
図9の流れはS135の処理へ進む。なお、所定回数S127乃至S134の処理を繰り返しても、カテゴリ判別不可能な場合、S118の処理へ進み、
図9の流れを終了させてもよい。
【0124】
一方、カテゴリが同一である場合(S134:No)、
図9の流れはS107の処理へ戻り、S107~S135の処理を繰り返す。
【0125】
図10は、実施形態に係る情報処理により実現される会話の一例を模式的に示す図である。
図10の会話は、例えば端末装置100の出力部130によりユーザに提示されるものとする。
【0126】
以下、
図10に示すように、S101の処理において、管理部250が「今度、ハワイへ旅行に行くよ。」とのユーザ発話が取得された場合を例として、実施形態に係る情報処理をより詳細に説明する。
【0127】
S102の処理において、文章解析部220は、ユーザ発話を示す音声データに対する音声認識処理により、「今度、ハワイへ旅行に行くよ。」とのユーザ発話の内容を示すテキストデータを取得する。また、文章解析部220は、文章単語分割処理により、テキストデータの示す文章を単語単位、すなわち「今度」、「ハワイ」、「へ」、「旅行」、「に」、「行く」及び「よ」に分割する。
【0128】
S103の処理において、文章解析部220は、分割された複数の単語のうち、例えば、
図2に示す単語カテゴリデータベース221に登録されている「今度」、「ハワイ」、「旅行」及び「行く」を、話題を推定するための抽出単語として抽出する。
【0129】
S104の処理において、文章解析部220は、
図2に示す単語カテゴリデータベース221を参照し、「今度」、「ハワイ」、「旅行」及び「行く」に対応するNo.0003の「旅行」をユーザ発話の話題として推定する。
【0130】
なお、文章解析部220が話題を推定する際、話題に対応する抽出単語として単語カテゴリデータベース221に登録されている抽出単語の全てがユーザ発話に含まれている必要はない。上記の例では、文章解析部220は、抽出単語が最も多く含まれる、No.0003の「旅行」をユーザ発話の話題として推定している。
【0131】
S105の処理において、単語解析部230は、分割された複数の単語のうち、例えば、
図3に示す意図推定データベース231に登録されている「今度」、「旅行」及び「行く」を、カテゴリを推定するための抽出単語として抽出する。単語解析部230は、カテゴリを推定するための抽出単語を抽出できたことから、カテゴリ判別可能であると判定する。
【0132】
S106の処理において、単語解析部230は、
図3に示す意図推定データベース231を参照し、「今度」、「旅行」及び「行く」に対応するNo.0004の「雑談」をユーザ発話のカテゴリとして推定する。
【0133】
なお、単語解析部230が話題を推定する際、カテゴリに対応する抽出単語として単語カテゴリデータベース221に登録されている抽出単語の全てがユーザ発話に含まれている必要はない。上記の例では、単語解析部230は、抽出単語が最も多く含まれる、No.0004の「雑談」をユーザ発話のカテゴリとして推定している。
【0134】
S107の処理において、単語解析部230は、分割された複数の単語のうち、例えば、
図4に示す重要単語データベース232に登録されている、No.0003の「旅行」に対応する「旅行」及び「行く」を重要単語として抽出する。単語解析部230は、No.0003の「旅行」に対応する重要単語を抽出できたことから、推定された話題における重要単語があると判定する。
【0135】
S108の処理において、単語解析部230は、「旅行」及び「行く」をユーザ発話における重要単語として特定する。重要単語として特定された「旅行」及び「行く」は、応答文章の生成に用いる繰り返し単語の候補となる。
【0136】
S109の処理において、単語解析部230は、「旅行」及び「行く」を応答文章の生成に用いる繰り返し単語として特定する。なお、ここでは、単語解析部230は、2つの単語を繰り返し単語として特定するものとするが、これに限定されるものではない。例えば、単語解析部230は、1つの単語を繰り返し単語として特定してもよいし、3つの単語を繰り返し単語として特定してもよい。
【0137】
なお、繰り返し単語の候補となる重要単語が、予め定めた繰り返し単語の数を超える場合、単語解析部230は、予め定めた優先順位に従い、繰り返し単語を特定する。例えば、「旅行」及び「行く」がユーザ発話における重要単語として特定され、1つの単語を繰り返し単語として特定する場合、単語解析部230は、「旅行」及び「行く」のうち、優先順位が高い単語を繰り返し単語として特定する。
【0138】
なお、優先順位は、重要単語データベース232における重要単語の表示順等で定められていてもよい。例えば、
図3に示す重要単語データベース232では、No.0003の「旅行」に対応する重要単語の優先順位は、「旅行」、「行く」、「写真」、「動画」、「撮影」、「予約」及び「[場所]」の順としてもよい。したがって、上記の例で、1つの単語を繰り返し単語として特定する場合、単語解析部230は、「旅行」を、応答文章の生成に用いる繰り返し単語として特定する。
【0139】
S110の処理において、単語解析部230は、
図5に示す会話推定データベース233を参照し、話題「旅行」と繰り返し単語「「旅行」及び「行く」」との組に対応するNo.0006の「いいなぁ」を共感単語として特定する。
【0140】
ここで、S111の処理において、管理部250は、前会話情報として、ユーザがチャットボットに話しかけた「このワンピースは似合うかな、買うかどうかは決まってないけど」という過去のユーザ発話を含む情報を取得したものとする。
【0141】
この場合、S112の処理において、文章解析部220は、文章抽出処理により、「このワンピースは似合うかな、買うかどうかは決まってないけど」との過去のユーザ発話の内容を示すテキストデータを取得する。また、文章解析部220は、文章単語分割処理により、「この」、「ワンピース」、「は」、「似合う」、「かな」、「買う」、「か」、「どう」、「か」、「は」、「決まっ」、「て」、「ない」及び「けど」に分割する。
【0142】
S113の処理において、文章解析部220は、分割された複数の単語のうち、例えば、
図2に示す単語カテゴリデータベース221に登録されている「[服アイテム](ワンピース)」、「似合う」及び「買う」を、話題を推定するための抽出単語として抽出する。
【0143】
S114の処理において、文章解析部220は、
図2に示す単語カテゴリデータベース221を参照し、「[服アイテム](ワンピース)」、「似合う」及び「買う」に対応するNo.0001の「ファッション」をユーザ発話の話題として推定する。
【0144】
S115の処理において、単語解析部230は、分割された複数の単語のうち、例えば、
図3に示す意図推定データベース231に登録されている「買う」及び「決まる(決まっ)」を、カテゴリを推定するための抽出単語として抽出する。単語解析部230は、カテゴリを推定するための抽出単語を抽出できたことから、カテゴリ判別可能であると判定する。
【0145】
S116の処理において、単語解析部230は、
図3に示す意図推定データベース231を参照し、「買う」及び「決まる(決まっ)」に対応するNo.0004の「雑談」をユーザ発話のカテゴリとして推定する。
【0146】
S117の処理において、単語解析部230は、ユーザ発話のカテゴリと、前会話情報のカテゴリとが、両方ともNo.0004の「雑談」であるため、ユーザ発話のカテゴリと前会話情報のカテゴリとが同一であると判定する。
【0147】
S119の処理において、単語解析部230は、興味単語データベース234を参照し、ユーザ発話と前会話情報との共通カテゴリである「雑談」と、前会話情報の抽出単語である「[服アイテム]」及び「似合う」との組に対応する「[服アイテム]」、「思う」、「センス」及び「おしゃれ」を共通カテゴリに対応する興味単語として特定する。
【0148】
S120の処理において、単語解析部230は、前会話情報の中に、「ワンピース([服アイテム])」が存在することから、前会話情報にS119で特定された興味単語があると判定する。
【0149】
S122において、単語解析部230は、前会話情報の中に存在する「ワンピース」を応答文章の生成に用いる興味単語として特定する。なお、前会話情報の中に、複数の興味単語が含まれる場合、単語解析部230は、例えば、過去のユーザ発話において登場回数が最も多い興味単語を、応答文章の生成に用いる興味単語として特定する。
【0150】
また、前会話情報の中に、共通カテゴリに対応する興味単語が存在しない場合、単語解析部230は、予め定めた優先順位に従い、S119で特定された共通カテゴリに対応する興味単語の中から、応答文章の生成に用いる興味単語を特定する。
【0151】
例えば、上記の例で、仮に前会話情報に、「[服アイテム]」、「思う」、「センス」及び「おしゃれ」の何れも存在せず、優先順位が「[服アイテム]」、「思う」、「センス」及び「おしゃれ」の順と定められていた場合、単語解析部230は、最も優先順位が高い「[服アイテム]」を、応答文章の生成に用いる興味単語として特定する。
【0152】
S123において、応答生成部240は、
図7に示す連携単語データベース241を参照し、カテゴリ「雑談」、話題「ファッション」及び興味単語「[服アイテム]」の組に対応するNo.0001の「着る」を応答文章の生成に用いる連携単語として特定する。
【0153】
S124の処理において、応答生成部240は、
図8に示す定型文データベース242を参照し、カテゴリ「雑談」、話題「ファッション」及び興味単語「[服アイテム]」の組に対応するNo.0001の「[繰り返し単語]に[繰り返し単語]んだ、[共感単語]、[興味単語]を[連携単語]のですか」を応答文章の生成に用いる定型文として特定する。
【0154】
S125の処理において、応答生成部240は、特定された繰り返し単語「旅行」及び「行く」、共感単語「いいなぁ」、興味単語「ワンピース」、連携単語「着る」を、No.0001の定型文に当て嵌め、「旅行に行くんだ、いいなぁ、ワンピース着るの?」という応答文章を生成する。
【0155】
S126の処理において、応答生成部240は、通信部210により、端末装置100に応答文章「旅行に行くの、いいなぁ、ワンピース着るの?」を出力する。
【0156】
S127及びS128の処理において、管理部250は、ユーザからの入力を確認し、「そうだよ。ワンピースを着るよ。寒いかな。」という応答文章に対するユーザ発話を取得する。
【0157】
S129の処理において、文章解析部220は、ユーザ発話を示す音声データに対する音声認識処理により、「そうだよ。ワンピースを着るよ。寒いかな。」とのユーザ発話の内容を示すテキストデータを取得する。また、文章解析部220は、文章単語分割処理により、テキストデータの示す文章を、「そうだよ」、「ワンピース」、「を」、「着る」、「よ」、「寒い」及び「かな」に分割する。
【0158】
S130の処理において、文章解析部220は、分割された複数の単語のうち、例えば、
図2に示す単語カテゴリデータベース221に登録されている「ワンピース」を、話題を推定するための抽出単語として抽出する。
【0159】
S131の処理において、文章解析部220は、
図2に示す単語カテゴリデータベース221を参照し、「ワンピース」に対応するNo.0001の「ファッション」を、応答文章に対するユーザ発話の話題として推定する。
【0160】
S132の処理において、単語解析部230は、分割された複数の単語のうち、例えば、
図3に示す意図推定データベース231に登録されている「着る」及び「寒い」を、カテゴリを推定するための抽出単語として抽出する。単語解析部230は、カテゴリを推定するための抽出単語を抽出できたことから、カテゴリ判別可能であると判定する。
【0161】
S133の処理において、単語解析部230は、
図3に示す意図推定データベース231を参照し、「着る」及び「寒い」に対応するNo.0004の「雑談」をユーザ発話のカテゴリとして推定する。
【0162】
S134の処理において、単語解析部230は、前回のユーザ発話のカテゴリである「雑談」が今回のユーザ発話のカテゴリにおいても継続しているため、会話を継続すると判断する。
【0163】
図11は、実施形態に係る情報処理システム1を実現するコンピュータ700のハードウェア構成の一例を模式的に示す図である。実施形態に係るサーバ装置200は、
図11に示すコンピュータ700として構成される。
【0164】
図11に示すように、コンピュータ700は、プロセッサ710、メモリ720、ストレージ730、入出力インターフェース(I/F)740及び通信インターフェース(I/F)750を有する。これらのハードウェアは、バス760に接続されている。
【0165】
プロセッサ710は、例えばCPU(Central Processing Unit)として構成され、コンピュータ700の各部の動作を統括的に制御する。
【0166】
メモリ720は、たとえばROM(Read Only Memory)及びRAM(Random Access Memory)を含み、プロセッサ710により実行されるプログラムなどの各種のデータの揮発的又は不揮発的な記憶、及びプロセッサ710がプログラムを実行するための作業領域の提供などを実現する。
【0167】
ストレージ730は、例えばHDD(Hard Disk Drive)又はSSD(Solid State Drive)を含み、各種のデータを不揮発的に記憶する。
【0168】
入出力インターフェース740は、例えばキーボード及びマウスなどのような入力装置(不図示)からコンピュータ700へのデータの入力と、例えばコンピュータ700からディスプレイおよびスピーカなどのような出力装置(不図示)へのデータの出力とを制御する。
【0169】
通信インターフェース750は、コンピュータ700が他の装置と通信を実行することを可能にする。
【0170】
実施形態において、サーバ装置200が有する
図1に示される各構成は、プロセッサ710がメモリ720又はストレージ730などに記憶された情報処理プログラムを実行した結果として、ハードウェアとソフトウェアとの協働による機能モジュールとして実現される。ただし、実施形態では、
図1に示される機能モジュール群のうち少なくとも一部が、専用のハードウェアのみによって実現されてもよい。
【0171】
なお、上述した実施形態に係る情報処理プログラムは、必ずしもメモリ720又はストレージ730に予め記憶されている必要はない。たとえば、上述した実施形態に係る情報処理プログラムは、フレキシブルディスク(FD)のような各種の磁気ディスク、又はDVD(Digital Versatile Disk)のような各種の光ディスクなどといった、コンピュータで読み取り可能な記録媒体にインストール可能な形式または実行可能な形式で記録されたコンピュータプログラムプロダクトとして提供されてもよい。
【0172】
また、上述した実施形態に係る情報処理プログラムは、インターネットなどのネットワーク経由で提供又は配布されてもよい。すなわち、上述した実施形態に係る情報処理プログラムは、インターネットなどのネットワークに接続されたコンピュータ上に格納された状態で、ネットワーク経由でのダウンロードを受け付ける、といった形で提供されてもよい。
【0173】
なお、実施形態では、端末装置100も、サーバ装置200と同様に、
図8に示すハードウェア構成を有してコンピュータ700として構成され得る。したがって、実施形態の変形例として、サーバ装置200の機能モジュールの少なくとも一部が端末装置100に実装された構成も考えられる。
【0174】
したがって、実施形態の変形例として、端末装置100が本開示の「情報処理装置」に該当する例も考えられる。さらに、端末装置100とサーバ装置200との組み合わせとしての情報処理システム1が本開示の「情報処理装置」に該当する例も考えられる。
【0175】
以上説明したように、実施形態に係る情報処理装置は、ユーザと継続的な会話を行うための自動応答処理を行う。
【0176】
一例として、情報処理装置において、単語解析部230は、ユーザ発話に基づいて、当該ユーザ発話のカテゴリを推定し、推定されたカテゴリと、対象ユーザの前会話情報とに基づいて、応答文章の生成に用いる、ユーザの継続的な発話を促進させる発話促進単語を特定する。また、応答生成部240は、推定された話題、推定されたカテゴリ、特定された発話促進単語に基づいて、応答文章を生成する。この構成によれば、ユーザと、情報処理装置により実現されるチャットボットとの会話において、チャットボットは、ユーザ発話のカテゴリを推定し、推定したカテゴリから発話促進単語を特定し、当該発話促進単語を用いた応答文章を生成することができる。当該発話促進単語を用いた応答文章を生成することにより、チャットボットは、ユーザの継続的な発話を促すことができる。したがって、実施形態に係る情報処理装置によれば、ユーザとチャットボットとが会話を円滑に継続できるように、ユーザの発話に対する応答を行うことができる。
【0177】
また、発話促進単語には興味単語が含まれ、応答生成部240は、興味単語を含む応答文章を生成する。ここで、興味単語は、ユーザの興味を引く単語であり、応答文章に興味単語が含まれていると、ユーザはチャットボットとの会話を継続しようと考える可能性が高くなる。つまり、チャットボットは、興味単語が含まれる応答文章を生成することにより、ユーザに継続的な発話を促すことができる。
【0178】
また、情報処理装置において、文章解析部220は、ユーザ発話に基づいて、当該ユーザ発話の話題を推定する。また、単語解析部230は、推定されたカテゴリと、推定された話題と、特定された興味単語とに基づいて、興味単語と連携して応答文章を形成する連携単語を特定する。また、応答生成部240は、興味単語及び連携単語を含む応答文章を生成する。この構成によれば、チャットボットは、興味単語と連携して応答文章を形成する連携単語を含む応答文章を生成することにより、自然な文章でユーザの興味を引くことができる。ここで、例えば、チャットボットが興味単語を含む応答文章を生成しても、生成した文章が不自然であれば、ユーザは発話しようという気持ちを失ってしまう可能性がある。したがって、実施形態に係る情報処理装置によれば、ユーザとチャットボットとが会話をより円滑に継続できるように、ユーザの発話に対する応答を行うことができる。
【0179】
また、単語解析部230は、ユーザ発話の内容に含まれる複数の単語から、推定された話題における重要単語を抽出する。また、単語解析部230は、話題と重要単語とに基づいて、当該ユーザ発話に対する応答文章の生成に用いる、ユーザ入力に対する共感を表す共感単語を特定する。また、応答生成部240は、共感単語を含む応答文章を生成する。この構成によれば、チャットボットは、ユーザ発話に対して共感を示すことができる。ここで、チャットボットに共感を示されることにより、ユーザは、チャットボットとの会話を継続しようと考える可能性が高くなる。つまり、チャットボットは、共感単語が含まれる応答文章を生成することにより、ユーザに継続的な発話を促すことができる。
【0180】
また、単語解析部230は、ユーザ発話と、推定された話題とに基づいて、当該ユーザ発話の内容に含まれる複数の単語のうち、当該ユーザ発話に対する応答文章の生成に用いる繰り返し単語を特定する。また、応答生成部240は、繰り返し単語を含む応答文章を生成する。この構成によれば、チャットボットは、ユーザ発話中の重要な単語を繰り返すことにより、ユーザに対して、ユーザの話における重要なポイントを理解していることをアピールできる。これにより、ユーザは、チャットボットがきちんと話を聞いてくれていると感じやすくなり、チャットボットとの会話を継続しようと考える可能性が高くなる。つまり、チャットボットは、繰り返し単語が含まれる応答文章を生成することにより、ユーザに継続的な発話を促すことができる。
【0181】
また、単語解析部230は、複数個の単語を、応答文章の生成に用いる繰り返し単語として特定してもよい。これにより、チャットボットは、ユーザに対して、ユーザの話における重要なポイントを理解していることをより強くアピールできる。
【0182】
本発明の実施形態及び変形例を説明したが、この実施形態及び変形例は、例として提示したものであり、発明の範囲を限定することは意図していない。この新規な実施形態及び変形例は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。この実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【0183】
1…情報処理システム、100…端末装置、110…通信部、120…入力部、130 出力部、200…サーバ装置(情報処理装置)、210…通信部、220…文章解析部、221…単語カテゴリデータベース、230…単語解析部、231…意図推定データベース、232…重要単語データベース、233…会話推定データベース、234…興味単語データベース、240…応答生成部、241…連携単語データベース、242…定型文データベース、250…管理部
【手続補正書】
【提出日】2023-02-02
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
ユーザ入力に基づいて、当該ユーザ入力の意図を推定する第1推定部と、
前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する第1特定部と、
前記意図と前記発話促進単語とに基づいて、前記応答文章を生成する生成部と、
を備え、
前記生成部は、推定された前記ユーザ入力の意図が当該ユーザ入力よりも前に入力された同一のユーザによるユーザ入力の意図と異なる場合、当該ユーザに再発話を促す文章を生成する、
情報処理装置。
【請求項2】
前記発話促進単語には、前記ユーザ入力を行ったユーザの興味を引く興味単語が含まれ、
前記生成部は、前記興味単語を含む前記応答文章を生成する、
請求項1に記載の情報処理装置。
【請求項3】
前記ユーザ入力に基づいて、当該ユーザ入力の話題を推定する第2推定部と、
前記意図と、前記話題と、前記興味単語とに基づいて、前記発話促進単語に含まれる前記興味単語と連携して応答文章を形成する連携単語を特定する第2特定部とを更に備え、
前記生成部は、前記興味単語及び前記連携単語を含む前記応答文章を生成する、
請求項2に記載の情報処理装置。
【請求項4】
前記ユーザ入力の内容に含まれる複数の単語から前記話題における重要単語を抽出する抽出部と、
前記話題と前記重要単語とに基づいて、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる前記ユーザ入力に対する共感を表す共感単語を特定する第3特定部とを更に備え、
前記生成部は、前記共感単語を含む前記応答文章を生成する、
請求項3に記載の情報処理装置。
【請求項5】
前記ユーザ入力と、前記話題とに基づいて、当該ユーザ入力の内容に含まれる複数の単語のうち、当該ユーザ入力に対する応答文章の生成に用いる、前記発話促進単語に含まれる繰り返し単語を特定する第4特定部とを更に備え、
前記生成部は、前記繰り返し単語を含む前記応答文章を生成する、
請求項3又は4に記載の情報処理装置。
【請求項6】
前記第4特定部は、複数の前記繰り返し単語を特定する、
請求項5に記載の情報処理装置。
【請求項7】
情報処理装置のコンピュータに、
ユーザ入力に基づいて、当該ユーザ入力の意図を推定する処理と、
前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する処理と、
前記意図と、前記発話促進単語とに基づいて、前記応答文章を生成する処理と、
推定された前記ユーザ入力の意図が当該ユーザ入力よりも前に入力された同一のユーザによるユーザ入力の意図と異なる場合、当該ユーザに再発話を促す文章を生成する処理と、
を実行させるプログラム。
【手続補正2】
【補正対象書類名】明細書
【補正対象項目名】0006
【補正方法】変更
【補正の内容】
【0006】
本発明の第1態様は、ユーザ入力に基づいて、当該ユーザ入力の意図を推定する第1推定部と、前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する第1特定部と、前記意図と前記発話促進単語とに基づいて、前記応答文章を生成する生成部とを備え、前記生成部は、推定された前記ユーザ入力の意図が当該ユーザ入力よりも前に入力された同一のユーザによるユーザ入力の意図と異なる場合、当該ユーザに再発話を促す文章を生成する情報処理装置である。
【手続補正3】
【補正対象書類名】明細書
【補正対象項目名】0012
【補正方法】変更
【補正の内容】
【0012】
また、本発明の第2態様は、ユーザ入力に基づいて、当該ユーザ入力の意図を推定する処理と、前記意図と、前記ユーザ入力の履歴とに基づいて、前記ユーザ入力に対する応答文章の生成に用いる、ユーザによる継続的な発話を促進させる発話促進単語を特定する処理と、前記意図と、前記発話促進単語とに基づいて、前記応答文章を生成する処理と、推定された前記ユーザ入力の意図が当該ユーザ入力よりも前に入力された同一のユーザによるユーザ入力の意図と異なる場合、当該ユーザに再発話を促す文章を生成する処理と、を情報処理装置のコンピュータに実行させるプログラムである。