JP2020123131A - 対話システム、対話方法、プログラム、及び記憶媒体 - Google Patents

対話システム、対話方法、プログラム、及び記憶媒体 Download PDF

Info

Publication number
JP2020123131A
JP2020123131A JP2019014417A JP2019014417A JP2020123131A JP 2020123131 A JP2020123131 A JP 2020123131A JP 2019014417 A JP2019014417 A JP 2019014417A JP 2019014417 A JP2019014417 A JP 2019014417A JP 2020123131 A JP2020123131 A JP 2020123131A
Authority
JP
Japan
Prior art keywords
question
answer
keyword
query
keywords
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2019014417A
Other languages
English (en)
Inventor
尚水 吉田
Takami Yoshida
尚水 吉田
浩司 藤村
Koji Fujimura
浩司 藤村
憲治 岩田
Kenji Iwata
憲治 岩田
優佳 小林
Yuka Kobayashi
優佳 小林
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2019014417A priority Critical patent/JP2020123131A/ja
Priority to US16/565,239 priority patent/US11282521B2/en
Priority to CN201910849865.8A priority patent/CN111506712B/zh
Publication of JP2020123131A publication Critical patent/JP2020123131A/ja
Priority to JP2022077024A priority patent/JP7319504B2/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • G06F16/33Querying
    • G06F16/332Query formulation
    • G06F16/3329Natural language query formulation or dialogue systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/30Semantic analysis
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS OR SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/22Procedures used during a speech recognition process, e.g. man-machine dialogue
    • G10L2015/223Execution procedure of a spoken command

Abstract

【課題】より容易に構築可能な、対話システム、対話方法、プログラム、及び記憶媒体を提供する。【解決手段】実施形態に係る対話システムは、処理部を含む。前記処理部は、ユーザにより1つ以上の単語を含む第1文章が入力されると、前記1つ以上の単語の少なくとも一部を第1クエリキーワードに設定する。前記処理部は、質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集から、前記第1クエリキーワードを含む1つ以上の前記質問回答ペアを選定する。前記処理部は、選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力し、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力する。【選択図】図1

Description

本発明の実施形態は、対話システム、対話方法、プログラム、及び記憶媒体に関する。
ユーザとの対話を通じて、ユーザからの問い合わせに対して回答を出力する対話システムがある。この対話システムを、より容易に構築できる技術の開発が望まれている。
特開2012−248161号公報
本発明の実施形態は、より容易に構築可能な、対話システム、対話方法、プログラム、及び記憶媒体を提供する。
実施形態に係る対話システムは、処理部を含む。前記処理部は、ユーザにより1つ以上の単語を含む第1文章が入力されると、前記1つ以上の単語の少なくとも一部を第1クエリキーワードに設定する。前記処理部は、質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集から、前記第1クエリキーワードを含む1つ以上の前記質問回答ペアを選定する。前記処理部は、選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力し、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力する。
第1実施形態に係る対話システムを例示する模式図である。 質問回答集を例示する表である。 シナリオテンプレートを例示する表である。 タスク用シナリオを例示する表である。 実施形態に係る対話システムの処理を例示するフローチャートである。 第1実施形態の変形例に係る対話システムを例示する模式図である。 第1実施形態の変形例に係る対話システムの処理を例示するフローチャートである。 第1実施形態の変形例に係る対話システムの処理を例示するフローチャートである。 第2実施形態に係る対話システムを例示する模式図である。 第2実施形態に係る対話システムの処理を例示するフローチャートである。 第2実施形態に係る対話システムの動作を示す模式図である。 第2実施形態の変形例に係る対話システムを例示する模式図である。 第2実施形態に係る対話システムの動作を説明する模式図である。 実施形態に係る対話装置の構成を例示する模式図である。
以下に、本発明の各実施形態について図面を参照しつつ説明する。
本願明細書と各図において、既に説明したものと同様の要素には同一の符号を付して詳細な説明は適宜省略する。
(第1実施形態)
図1は、第1実施形態に係る対話システムを例示する模式図である。
図1に示すように、第1実施形態に係る対話システム1は、処理部10を含む。図1に示す例では、対話システム1は、第1記憶部21及び第2記憶部22をさらに含む。
処理部10は、ユーザから入力された文章を受け付ける。処理部10は、入力された文章に対して応答を出力する。ユーザは、処理部10からの応答に基づき、次の文章を処理部10へ入力する。処理部10は、次の文章に対する応答を、それまでのユーザとの対話に基づいて出力する。これにより、ユーザと対話システム1との間で対話が実現される。
第1記憶部21は、質問回答集を記憶する。質問回答集は、複数の質問回答ペアを含む。それぞれの質問回答ペアは、質問と、その質問に対する回答と、を含む。第2記憶部22は、処理部10から出力される応答を生成するための汎用的なシナリオを記憶する。処理部10は、第1記憶部21及び第2記憶部22を参照しながら、入力された文章に対する応答を生成する。
例えば、ユーザから入力される文章は、問い合わせを含む。ここでは、ユーザから処理部10へ入力される文章を、「クエリ文章」という。処理部10は、クエリ文章を受け付けると、第1記憶部21の質問回答集を参照する。処理部10は、クエリ文章と関連する質問が質問回答集にあるか調べる。処理部10は、関連する質問を見つけると、その質問に対する回答を示す応答を、ユーザに向けて出力する。
処理部10は、関連する質問が複数あるときは、それらの質問を1つに絞り込むための応答(問い返し)を出力する。ユーザは、その応答に対して、質問を絞り込むための情報(キーワード)を含む別のクエリ文章を入力する。例えば、質問が1つに絞り込まれるまで、ユーザによるクエリ文章の入力と処理部10からの応答と、が交互に繰り返される。ユーザは、対話システムの応答に答えることで、ユーザの求める情報を含む1つの回答にたどり着くことができる。対話システム1を用いることで、ユーザが適切な検索方法を知っていなくても、ユーザは、1つの回答を得られる。
対話システムからユーザへ、クエリ文章に基づいた応答を出力するためには、シナリオが必要である。シナリオを自動的に生成するために、概念辞書を用いる方法がある。概念辞書は、例えば、属性、属性値、及び言い換え表現を含む。概念辞書を用いた対話システムでは、処理部は、クエリ文章が入力されると、概念辞書と回答候補の数とに基づいて、シナリオを自動的に生成する。シナリオの自動生成により、人(例えばシステム管理者)によるシナリオの作成が不要となる。
一方で、概念辞書を用いるためには、システム管理者は、質問回答集に含まれる全ての質問のそれぞれに、1つ以上の属性と、各属性の属性値と、を付与する必要がある。概念辞書を用いる場合、シナリオの作成に要する時間を削減できるが、概念辞書の作成に時間を要する。また、何を属性とし、何を属性値とするかは、システム管理者に依存する。ユーザの問い合わせにおいて、属性値が言及されたか判断する方法を決める必要もある。従って、システム管理者に専門知識が求められ、システム管理者への負担が大きい。
このため、ユーザと対話できる対話システムを、より容易に構築できる技術の開発が望まれている。
実施形態に係る対話システム1では、処理部10は、ユーザにより1つ以上の単語を含むクエリ文章が入力されると、その1つ以上の単語の少なくとも一部をキーワード(クエリキーワード)に設定する。処理部10は、質問回答集から、クエリキーワードを含む質問回答ペアを選定する。クエリキーワードを選定に用いることで、質問回答集への属性及び属性値の付与のような事前準備が不用となる。
さらに、処理部10は、選定された質問回答ペアの数が1のときは、その1つの質問回答ペアの回答を示す第1応答を出力する。例えば、第1応答は、選定された質問回答ペアに含まれる質問及び回答を含む。第1応答は、回答が記載されたウェブページのURLを含んでいても良い。ユーザは、第1応答を参照することで、問い合わせに対する回答を確認できる。
処理部10は、選定された質問回答ペアの数が2以上のときは、第2応答を出力する。第2応答は、選定された質問回答ペアの1つに含まれる複数のキーワード(質問キーワード)から抽出された質問キーワードと、選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された別の質問キーワードと、を含む。第2応答に含まれるこれらの質問キーワードは、クエリキーワードとは異なる。ユーザは、第2応答を参照することで、質問回答ペアを絞り込むために、どのようなキーワードを次のクエリ文章に含めれば良いか知ることができる。
また、上述した選定された質問回答ペアの数に応じたシナリオは、汎用的な辞書を用いて自動的に生成できる。このため、システム管理者のシナリオ作成に要する負担を軽減できる。
例えば、ユーザは、第2応答に含まれるいずれかの質問キーワードを含む別のクエリ文章を処理部10へ入力する。処理部10は、その別のクエリ文章に含まれる1つ以上の単語の少なくとも一部を、別のクエリキーワードに設定する。処理部10は、その別のクエリキーワードを用いて、選定された2つ以上の質問回答ペアから、その一部をさらに選定する。この結果、選定された質問回答ペアの数が1のときは、処理部10は、第1応答を出力する。選定された質問回答ペアの数が2以上のときは、処理部10は、第2応答を再び出力する。
実施形態によれば、例えば、質問回答集についてのユーザとの対話を、概念辞書を用いずに実現できる。また、実施形態によれば、2つ以上の質問回答ペアが選定されたときは、質問キーワードを含む応答を表示する。これにより、ユーザは、どのようなキーワードを含むクエリ文章を対話システム1へ入力すれば良いか知ることができる。この結果、ユーザが、求める回答によりたどり着き易くなる。対話システム1の利便性を向上させることができる。
処理部10は、電気回路(処理回路)を含む中央演算処理装置を含む。第1記憶部21及び第2記憶部22は、記憶装置をそれぞれ含む。記憶装置は、例えば、ハードディスクドライブ(HDD)、ネットワークアタッチストレージ(NAS)、組み込み用マルチメディアカード(eMMC)、ソリッドステートドライブ(SSD)、及びソリッドステートハイブリッドドライブ(SSHD)の少なくともいずれかを含む。1つの記憶装置が、第1記憶部21及び第2記憶部22の両方として機能しても良い。処理部10、第1記憶部21、及び第2記憶部22は、1つのコンピュータに含まれても良いし、有線、無線、又はネットワークを介して相互に接続されても良い。
実施形態に係る対話システム1について、具体的に説明する。
図2は、質問回答集を例示する表である。
図3は、シナリオテンプレートを例示する表である。
図4は、タスク用シナリオを例示する表である。
第1記憶部21は、例えば図2に示す質問回答集110を記憶する。質問回答集110は、複数の質問回答ペア110a〜110Kを含む。質問回答ペア110a〜110Kは、質問回答ペアを識別するID111a〜111K、質問112a〜112K、及び質問対する回答113a〜113Kをそれぞれ含む。
質問回答ペア110a〜110Kには、質問キーワード114a〜114Kがそれぞれ紐付けられる。質問キーワード114a〜114Kは、例えば、質問回答集110に含まれる。又は、質問キーワード114a〜114Kは、質問回答集110とは別に、第1記憶部21又はその他の記憶部に記憶されても良い。
質問キーワード114a〜114Kは、質問112a〜112Kからそれぞれ抽出される。1つの質問から複数の質問キーワードが抽出されても良い。例えば、対話システム1の外部の処理装置により、質問112a〜112Kから、質問キーワード114a〜114Kが抽出される。又は、質問キーワード114a〜114Kは、質問112a〜112Kに対してシステム管理者により付与されても良い。
質問回答集は、複数の質問回答ペア及び複数の質問キーワード以外の情報を含んでいても良い。例えば、質問回答集は、対応する回答が設定されていない質問を含んでも良い。質問回答集は、1つの質問と1つの回答がペアとなっていない、1つ以上の質問と1つ以上の回答との組み合わせを含んでも良い。例えば、質問回答集は、2つの質問と、2つの質問に対する共通の回答として設定された1つの回答と、の組み合わせを含む。これらの場合、処理部10は、例えば、複数の質問回答ペアのみに基づいてユーザとの対話を実行する。処理部10は、複数の質問回答ペア以外の情報は、ユーザとの対話に用いない。
質問回答集において、1つの回答が、複数の条件と、各条件に対する詳細な回答と、を含んでいても良い。この場合、複数の条件と複数の詳細な回答とをまとめて1つの回答と見なすことができる。
第2記憶部22は、例えば図3に示す汎用モデル120を記憶する。汎用モデル120は、複数のシナリオテンプレート121a〜121cを含む。シナリオテンプレート121a〜121cは、タスク用シナリオのベースとして用いられる。タスク用シナリオは、具体的な情報を含み、処理部10から出力される応答として用いられる。シナリオテンプレート121a〜121cには、回答候補数122a〜122cがそれぞれ設定される。回答候補数に応じて、使用されるシナリオテンプレートが決定される。
シナリオテンプレート121a〜121cは、ユーザの問い合わせに依存しないように、汎用的に記述される。具体的には、シナリオテンプレート121a〜121cのそれぞれは、<ブランク>を含む。<ブランク>には、後述するように、タスク用シナリオ生成の際に、質問、回答、又は質問キーワードが当てはめられる。
汎用モデル120は、シナリオテンプレート121dのように、ブランクを含まない定型シナリオを含んでいても良い。定型シナリオは、挨拶、お礼、謝罪などに対応する。
処理部10は、例えば、受付部11、設定部12、選定部13、及び生成部14を含む。
受付部11は、ユーザから入力されたクエリ文章を受け付ける。クエリ文章は、例えば、ユーザのキーボードやタッチパネルなどの操作により入力される。又は、クエリ文章は、ユーザの発話に基づいて生成されても良い。例えば、マイクが、ユーザの発話を録音し、音声を認識する。クエリ文章は、音声認識により生成される。
設定部12は、クエリ文章に基づいてクエリキーワードを設定する。例えば、設定部12は、1つ以上の単語を含むクエリ文章全体を、1つのクエリキーワードとする。選定部13は、質問回答集から、クエリキーワードを含む1つ以上の質問回答ペアを選定する。生成部14は、選定された質問回答ペアの数に応じて、タスク用シナリオを生成する。生成部14は、生成したタスク用シナリオを、モニタ、スピーカ、プリンタなどの外部の装置へ出力する。これらの装置は、タスク用シナリオを、ユーザが認識できるように出力する。
具体的な一例として、図3に示す汎用モデル120におけるNsを3とする。Nsは、複数の質問回答ペアが選定されたときに、選定された質問回答ペアの数に応じて、対話システム1からの応答を切り替えるために設定される。例えば、ユーザは、「残高確認」と対話システム1へ入力する。受付部11は、そのクエリ文章を受け付ける。設定部12は、そのクエリ文章をクエリキーワードとする。すなわち、「残高確認」が、クエリキーワードとなる。選定部13は、第1記憶部21の質問回答集を参照し、そのクエリキーワードを含む質問回答ペアを選定する。選定された質問回答ペアに含まれる回答は、ユーザからの問い合わせに対する回答の候補である。
生成部14は、選定された質問回答ペアの数をカウントする。選定された質問回答ペアの数は、回答候補の数に対応する。図2に示す質問回答集の質問112a、112b、112c、及び112Kのうち、質問112aのみが「残高確認」の質問キーワードを含む。従って、選定された質問回答ペアの数は、1である。生成部14は、汎用モデル120において、回答候補数が1に対応するシナリオテンプレート121aを参照する。生成部14は、<ブランク1>に、質問112aの「預金口座の残高を確認したい」を代入する。生成部14は、<ブランク2>に、回答113aの「残高確認をするには・・・」を代入する。これにより、図4に示すように、「ご質問は『預金口座の残高確認をしたい』ですね。『残高確認をするには・・・』」のタスク用シナリオ131が生成される。
別の一例として、ユーザは、「申し込み」と対話システム1へ入力する。設定部12は、「申し込み」をクエリキーワードとする。図2に示す質問回答集において、質問112bと質問112Kの2つの質問が、「申し込み」を含む。選定された質問回答ペアの数は、2である。生成部14は、汎用モデル120において、回答候補数が2に対応するシナリオテンプレート121bを参照する。生成部14は、<ブランク3a>に、質問112bの「預金口座を申し込みたい」を代入する。生成部14は、<ブランク3b>に、質問112Kの「ローンを申し込みたい」を代入する。これにより、「ご質問は『預金口座を申し込みたい』ですか?『ローンを申し込みたい』ですか?」のタスク用シナリオ132が生成される。
さらに別の一例として、ユーザは、「預金口座」と対話システム1へ入力する。図2に示す質問回答集において、質問112a、112b、及び112cの3つの質問が、「預金口座」を含む。選定された質問回答ペアの数は、3である。生成部14は、汎用モデル120において、回答候補数が3に対応するシナリオテンプレート121cを参照する。また、生成部14は、質問112a〜112cにそれぞれ対応する質問キーワード114a〜114cから、クエリキーワードと異なる質問キーワードを抽出する。生成部14は、<ブランク4a>に、質問112aの質問キーワード「残高確認」を代入する。生成部14は、<ブランク4b>に、質問112bの質問キーワード「申し込み」を代入する。生成部14は、<ブランク4c>に、質問112cの質問キーワード「解約」を代入する。これにより、「追加のキーワードはありますか?『残高確認』について、『申し込み』について、『解約』について等。」のタスク用シナリオ133が生成される。
選定された質問回答ペアの数が0のとき、生成部14は、汎用モデル120において、回答候補数が0に対応するシナリオテンプレート121dを参照する。シナリオテンプレート121dは、ブランクを含まない定型シナリオである。生成部14は、シナリオテンプレート121dをそのままタスク用シナリオとする。
このように、処理部10は、ユーザにより入力されたクエリ文章、質問回答集110、及び汎用モデル120に基づいて、タスク用シナリオを自動的に生成する。生成部14は、生成したタスク用シナリオを、ユーザの問い合わせに対する応答として出力する。
図5は、実施形態に係る対話システムの処理を例示するフローチャートである。
受付部11は、ユーザにより入力されたクエリ文章を受け付ける(ステップS101)。設定部12は、クエリ文章の少なくとも一部をクエリキーワード(第1クエリキーワード)に設定する(ステップS102)。選定部13は、第1クエリキーワードを含む質問回答ペアを選定する(ステップS103)。生成部14は、選定された質問回答ペアの数Nをカウントする(ステップS104)。
生成部14は、Nが0か判断する(ステップS105)。Nが0のとき、生成部14は、定型応答を出力する(ステップS106)。定型応答は、定型シナリオに対応する。Nが0では無いとき、生成部14は、Nが1か判断する(ステップS107)。Nが1のとき、生成部14は、第1応答を生成する(ステップS108)。第1応答は、選定された質問回答ペアに含まれる回答を示す。第1応答は、例えば、図4に示すタスク用シナリオ131である。
Nが1では無いとき、生成部14は、NがNs以上か判断する(ステップS109)。NがNs以上のとき、生成部14は、選定された質問回答ペアの1つについて、第1クエリキーワードと異なる質問キーワード(第1質問キーワード)を選定する。生成部14は、選定された質問回答ペアの別の1つについて、第1クエリキーワードと異なる別の質問キーワード(第2質問キーワード)を選定する。第1質問キーワード及び第2質問キーワードは、互いに異なる。生成部14は、第1質問キーワード及び第2質問キーワードを含む第2応答を生成する(ステップS110)。第2応答は、例えば、図4に示すタスク用シナリオ133である。
NがNs未満のとき、生成部14は、N個の質問回答ペアにそれぞれ含まれるN個の質問を含んだ第3応答を生成する(ステップS111)。例えば、生成部14は、N個の質問回答ペアの1つに含まれる第1質問と、N個の質問回答ペアの別の1つに含まれる第2質問と、を含む第3応答を生成する。第3応答は、例えば、図4に示すタスク用シナリオ132である。第1応答〜第3応答のいずれかを生成した後、生成部14は、生成された応答を出力する(ステップS112)。
応答を出力した後、処理部10は、対話が終了したか判断する(ステップS113)。例えば、処理部10は、応答を出力した後に経過した時間を測定する。ユーザにより別のクエリ文章が入力されないまま経過時間が閾値を超えると、処理部10は、対話が終了したと判断する。ユーザから対話システム1へ、対話が終了したことを示す文章が入力されても良い。処理部10は、その文章を受け付けると、対話が終了したと判断する。これらの終了の条件が満たされる前に、受付部11が次のクエリ文章を受け付けると、処理部10は、上述した処理を再度実行する。
生成部14がモニタへ応答を出力する場合、生成部14は、モニタに表示されたグラフィカルユーザインターフェース(GUI)上で、質問、キーワードなどを選択できるように出力しても良い。例えば、生成部14が第2応答を生成したとき、GUI上で、第1質問キーワード及び第2質問キーワードが選択できるように出力される。ユーザがGUI上で第1質問キーワード又は第2質問キーワードをクリックすると、クリックしたキーワードが、次のクエリ文章として処理部10へ入力される。例えば、生成部14が第3応答を生成したとき、GUI上で、第1質問及び第2質問が選択できるように出力される。ユーザがGUI上で第1質問又は第2質問をクリックすると、クリックした質問が、次のクエリ文章として処理部10へ入力される。
図2〜図5に示す例によれば、複数の質問回答ペアが選定されたときには、選定された質問回答ペアの数に応じて、第2応答又は第3応答が生成される。第2応答は、クエリキーワードと異なる複数の質問キーワードを含む。このため、ユーザは、次のクエリ文章に、どのようなキーワードを含めれば良いか知ることができる。第3応答は、選定された質問回答ペアに含まれる複数の質問を含む。このため、ユーザは、選定された質問回答ペアに含まれる質問を直接的に確認できる。これらの応答により、ユーザが、求める回答によりたどり着き易くなる。
(変形例)
図6は、第1実施形態の変形例に係る対話システムを例示する模式図である。
変形例に係る対話システム1aでは、ユーザによる問い合わせの前に、事前にタスク用モデルが生成される。タスク用モデルは、質問回答集に含まれる質問キーワード、各質問キーワードを含む質問回答ペアの数、及び複数のタスク用シナリオを含む。
タスク用モデルは、処理部30によって生成される。例えば、対話システム1aが、処理部30を含む。処理部30は、生成したタスク用モデルを、第3記憶部23に記憶する。処理部30は、電気回路を含む中央演算処理装置を含む。1つの装置が、処理部10及び処理部30の両方として機能しても良い。第3記憶部23は、記憶装置を含む。記憶装置は、例えば、HDD、NAS、eMMC、SSD、及びSSHDの少なくともいずれかを含む。1つの記憶装置が、第1記憶部21〜第3記憶部23として機能しても良い。
対話システム1aにおいて、処理部30は、取出部31、抽出部32、及び生成部33を含む。処理部10は、受付部11、設定部12、及び選定部13を含む。
図7は、第1実施形態の変形例に係る対話システムの処理を例示するフローチャートである。
図7のフローチャートは、タスク用モデルを作成する際の処理を例示する。
取出部31は、第1記憶部21の質問回答集を参照し、複数の質問回答ペアから1つの質問回答ペアを取り出す(ステップS121)。抽出部32は、その1つの質問応答ペアに対して登録された質問キーワードを抽出する(ステップS122)。生成部33は、抽出した質問キーワードがタスク用モデルに登録されているか判断する(ステップS123)。
登録されていないときは、生成部33は、第2記憶部22の汎用モデルを参照する。生成部33は、回答候補数が1に対応するシナリオテンプレートを検索する。生成部33は、そのシナリオテンプレートの複数のブランクに、選択した質問回答ペアの質問及び回答をそれぞれ代入し、タスク用シナリオを生成する(ステップS124)。生成部33は、抽出した質問キーワードと、その質問キーワードを含む質問回答ペアの数と、生成したタスク用シナリオと、を対応付け、第3記憶部23のタスク用モデルに追加する(ステップS125)。
ステップS123において、抽出した質問キーワードがタスク用モデルに登録されているときは、生成部33は、タスク用モデルを更新する(ステップS126)。具体的には、生成部33は、タスク用モデルにおいて、抽出した質問キーワードを含む質問回答ペアの数に、1を加える。生成部33は、1を加えた後の質問回答ペアの数と、閾値Nsを比較する。
質問回答ペアの数がNs未満のときは、生成部33は、回答候補数が2以上Ns未満に対応するシナリオテンプレートを検索する。生成部33は、そのシナリオテンプレートの複数のブランクに、抽出した質問キーワードを含む複数の質問回答ペアの複数の質問をそれぞれ代入し、タスク用シナリオを生成する。
質問回答ペアの数がNs以上のときは、生成部33は、抽出した質問キーワードを含む質問回答ペアに含まれる各質問から、別の質問キーワードを抽出する。生成部33は、回答候補数がNs以上に対応するシナリオテンプレートを検索する。生成部33は、そのシナリオテンプレートの複数のブランクに、抽出された複数の別の質問キーワードをそれぞれ代入し、タスク用シナリオを生成する。生成部33は、生成したタスク用シナリオと、更新した質問回答ペアの数と、をタスク用モデルに登録する。
ステップS125又はS126の後、処理部30は、質問回答集から全ての質問回答ペアが取り出されたか判断する(ステップS127)。取り出されていない質問回答ペアがあるときは、処理部30は、ステップS121を再度実行する。ステップS121において、取出部31は、複数の質問回答ペアの別の1つを取り出す。以降は、複数の質問回答ペアの別の1つから、別の質問キーワードが抽出される。ステップS121〜S126の処理は、質問回答集に含まれる全ての質問回答ペアが取り出されるまで繰り返される。
図8は、第1実施形態の変形例に係る対話システムの処理を例示するフローチャートである。
図8のフローチャートは、クエリ文章に対して応答する際の処理を例示する。
受付部11は、ユーザにより入力されたクエリ文章を受け付ける(ステップS141)。設定部12は、クエリ文章をクエリキーワードとして設定する(ステップS142)。選定部13は、クエリキーワードに基づき、応答を選定する(ステップS143)。具体的には、選定部13は、第3記憶部23にアクセスする。選定部13は、タスク用モデルがクエリキーワードを含むか判断する。
タスク用モデルにクエリキーワードが含まれるときは、選定部13は、タスク用モデルから、クエリキーワードに対応付けられたタスク用シナリオを選定する。タスク用モデルにクエリキーワードが含まれないときは、選定部13は、第2記憶部22の汎用モデルにおいて、回答候補数が0に対応するシナリオテンプレート(定型シナリオ)を、タスク用シナリオとして選定する。回答候補数が0に対応するシナリオテンプレートは、タスク用シナリオとして事前にタスク用モデルに登録されていても良い。選定部13は、選定した応答を出力する(ステップS144)。処理部10は、対話が終了したか判断する(ステップS145)。
変形例に係る対話システム1aによれば、処理部10がクエリ文章を受け付ける前に、複数のタスク用シナリオを含むタスク用モデルが生成される。このため、処理部10は、クエリ文章を受け付けた後、そのクエリ文章に基づいてタスク用シナリオを生成する必要が無い。例えば、クエリ文章を受け付けた後の処理部10の処理負荷を低減できる。
(第2実施形態)
図9は、第2実施形態に係る対話システムを例示する模式図である。
第2実施形態に係る対話システム2において、処理部10は、応答を生成する際に、第1記憶部21及び第2記憶部22に加えて、第4記憶部24を参照する。対話システム2が、第4記憶部24を含んでも良い。第4記憶部24は、文章からキーワードを抽出するためのモデル又は規則を記憶する。
対話システム2は、処理部40をさらに含む。処理部40は、例えば、取出部41及び抽出部42を含む。取出部41は、第1記憶部21にアクセスし、質問回答集から1つの質問回答ペアを取り出す。抽出部42は、第4記憶部24に記憶されたモデル又は規則に従って、質問回答ペアから質問キーワードを抽出する。抽出部42は、抽出した質問キーワードを、例えば第1記憶部21に記憶する。処理部40は、電気回路を含む中央演算処理装置を含む。1つの装置が、処理部10及び処理部40の両方として機能しても良い。第4記憶部24は、記憶装置を含む。記憶装置は、例えば、HDD、NAS、eMMC、SSD、及びSSHDの少なくともいずれかを含む。1つの記憶装置が、第1記憶部21、第2記憶部22、及び第4記憶部24として機能しても良い。
受付部11が1つ以上の単語を含むクエリ文章を受け付けると、設定部12は、第4記憶部24に記憶されたモデル又は規則に従って、1つ以上の単語の一部を抽出する。設定部12は、抽出した単語を、クエリキーワードとして設定する。すなわち、設定部12は、クエリ文章からクエリキーワードを抽出する。複数のクエリキーワードが、クエリ文章から抽出されても良い。
例えば、キーワードの抽出は、文章を構成する各単語の品詞に基づく。この場合、第4記憶部24は、形態素解析モデル又は形態素解析規則を記憶する。設定部12は、文章を形態素解析することで、文章を複数の単語に分割し、各単語の品詞を推定する。設定部12は、特定の品詞の単語を、キーワードとする。特定の品詞としては、例えば、名詞及び動詞が用いられる。名詞の1つである複合名詞については、設定部12は、複合名詞中の各名詞をキーワードとして登録しても良いし、複合名詞全体で1つのキーワードとして登録しても良いし、これらを組み合わせて登録しても良い。設定部12は、さらに、いずれの品詞にも分類できない単語(未知語)をキーワードとして抽出しても良い。
図10は、第2実施形態に係る対話システムの処理を例示するフローチャートである。
図10は、処理部40が質問回答集から質問キーワードを抽出する際の処理を示す。図10に示す処理は、例えば、ユーザによりクエリ文章が入力された際に実行される。
取出部41は、質問回答集から、複数の質問回答ペアの1つを取り出す(ステップS201)。抽出部42は、取り出した質問回答ペアの質問から、質問キーワードを抽出する(ステップS202)。抽出部42は、抽出した質問キーワードを第1記憶部21に登録する(ステップ203)。取出部41は、質問回答集に含まれる全ての質問回答ペアを取り出したか判断する(ステップS204)。取り出されていない質問回答ペアがあるときは、取出部41は、ステップS201を再度実行する。ステップS201において、取出部41は、質問回答集から、複数の質問回答ペアの別の1つを取り出す。以降は、複数の質問回答ペアの別の1つから、別の質問キーワードが抽出される。ステップS201〜S203の処理は、質問回答集に含まれる全ての質問回答ペアから質問キーワードが抽出されるまで繰り返される。
処理部10は、質問回答集から抽出された質問キーワードを用いて、図5に示すフローチャートと同様の処理を実行する。例えば、ステップS102において、設定部12は、ユーザにより入力されたクエリ文章の一部を抽出し、1つ以上のクエリキーワードとして設定する。ステップS103において、選定部13は、抽出された1つ以上のクエリキーワードの少なくとも1つを含む質問回答ペアを選定する。
第2実施形態によれば、クエリ文章の一部が抽出されて、クエリキーワードとして設定される。この方法によれば、クエリ文章全体が1つのクエリキーワードとして設定される場合に比べて、ユーザの問い合わせに対応する質問を含む質問回答ペアがより選定され易くなる。これにより、ユーザが、求める回答によりたどり着きやすくなる。対話システム2の利便性を向上させることができる。
また、第2実施形態によれば、ユーザによるクエリ文章入力の際に、質問回答集から質問キーワードが抽出される。このため、質問回答集が頻繁に更新される場合でも、最新の質問回答集に含まれる質問キーワードに基づいて、質問回答ペアが選定される。例えば、最新の質問回答集に含まれる質問キーワードを用いて応答を出力できる。これにより、ユーザが、求める回答によりたどり着きやすくなる。
ステップS103において、選定部13は、クエリキーワードと同一の質問キーワードを含む質問回答ペアに加えて、クエリキーワードと類似する質問キーワードを含む質問回答ペアを選定しても良い。選定部13は、1つ以上のクエリキーワードのそれぞれと、質問回答集から抽出された複数の質問キーワードのそれぞれと、の間の類似度を計算する。1つのクエリキーワードと1つの質問キーワードとの間の類似度が予め設定された閾値以上のとき、その1つのクエリキーワードは、その1つの質問キーワードの言い換え表現と判断される。選定部13は、クエリキーワードに類似する質問キーワードを含む質問回答ペアを、実質的にクエリキーワードを含むと判断し、その質問回答ペアを選定する。
例えば、ある質問キーワードの読みは、あるクエリキーワードの読みと同じである。一例として、その質問キーワードの少なくとも一部は、ひらがな及びカタカナの一方で記載され、そのクエリキーワードの少なくとも一部は、ひらがな及びカタカナの他方で記載されている。この場合、その質問キーワードは、そのクエリキーワードの言い換え表現である。別の一例として、質問キーワード及びクエリキーワードは、同じ漢字を含むが、異なる送り仮名を含む。この場合も、その質問キーワードは、そのクエリキーワードの言い換え表現である。
質問キーワード及びクエリキーワードは、同じ漢字を含み、品詞の違いにより送り仮名が違うときも、その質問キーワードは、そのクエリキーワードの言い換え表現と判断される。例えば、質問キーワードは「振り込み」であり、クエリキーワードが「振り込む」であるとき、質問キーワードは、そのクエリキーワードの言い換え表現と判断される。
類似度の決定には、例えば編集距離が用いられる。選定部13は、キーワード同士の間の編集距離を、類似度とする。
事前に作成した言い換え表現辞書を用いて、類似度が決定されても良い。言い換え表現辞書は、複数のキーワードの組を含む。各組は、複数のキーワードを含む。各組に含まれる複数のキーワードは、互いに類似する言い換え表現である。例えば、選定部13は、1つの組に含まれるキーワード同士の間の類似度を1とし、その他のキーワード同士の間の類似度を0とする。
事前に学習した分散表現モデルを用いて、類似度が決定されても良い。分散表現モデルは、単語の分散表現が記述されている。選定部13は、各キーワードのベクトル同士の間のコサイン類似度又は距離に基づき、類似度を決定する。
クエリキーワードに類似する質問キーワードを含む質問回答ペアを選定することで、ユーザの問い合わせに対応する質問を含む質問回答ペアがより選定され易くなる。これにより、ユーザが、求める回答によりたどり着きやすくなる。
図11は、第2実施形態に係る対話システムの動作を示す模式図である。
図11は、ユーザUSと対話システム2による対話を示す。例えば、対話システム2は、ユーザUSを検知すると、文章TX1「ご質問をどうぞ」を出力する。ユーザUSは、文章TX2「預金口座について」を対話システム2へ入力する。対話システム2は、文章TX2(クエリ文章)を複数の単語に分解し、各単語の品詞を推定する。対話システム2は、品詞に基づき、文章TX2から、「預金口座」をクエリキーワードとして抽出する。対話システム2は、質問キーワードとして「預金口座」が登録された質問回答ペアを、質問回答集から選定する。
一例として、対話システム2は、「預金口座」及び「申し込み」の質問キーワードを含む質問回答ペアと、「預金口座」及び「解約」の質問キーワードを含む質問回答ペアと、「預金口座」及び「残高確認」の質問キーワードを含む質問回答ペアと、の3つの質問回答ペアを選定する。対話システム2は、この選定結果に基づき、文章TX3「追加のキーワードはありますか?申し込みについて、ご解約について、残高確認について等」を出力する。文章TX3は、第2応答に対応する。
文章TX3において、質問キーワードに対応する単語は、他の単語と区別可能に出力されても良い。例えば、対話システム2から出力された応答がモニタに表示される場合、質問キーワードに対応する単語は、他の単語に比べて、太く、下線が付され、又は色づけされて表示される。質問キーワードに対応する単語が、クリック可能に表示されても良い。ユーザUSが質問キーワードに対応する単語をクリックすると、その質問キーワードを含む次の文章が自動で対話システム2へ入力されても良い。対話システム2から出力された応答が音声として出力される場合、質問キーワードに対応する単語は、他の単語に比べて、ボリュームが大きく、又はゆっくり読み上げられる。
ユーザUSは、文章TX3に基づき、文章TX4「申込」を対話システム2へ入力する。対話システム2は、文章TX4に基づき、「申込」をクエリキーワードに設定する。対話システム2は、文章TX4に基づくクエリキーワードを用いて、先に選定された質問回答ペアの一部をさらに選定する。例えば、文章TX4に基づくクエリキーワード「申込」は、質問キーワード「申し込み」と類似する。対話システム2は、上記の3つの質問回答ペアから、「預金口座」及び「申し込み」の質問キーワードを含む質問回答ペアを選定する。質問回答ペアの数が1つに絞り込まれたため、対話システム2は、その質問回答ペアに含まれる回答を示す文章TX5「ご質問は『預金口座を申し込みたい』ですね。『口座のお申込みは…』」を出力する。文章TX5は、第1応答に対応する。
抽出部42は、質問回答集から質問キーワードを抽出する際に、各質問キーワードの重要性を表すスコアを決定しても良い。選定部13は、スコアに基づいて質問回答ペアを選定する。
質問キーワードのスコアは、その質問キーワードを含む質問回答ペアの数が少ないほど、高く設定される。スコアの高いキーワードは、質問回答集にあまり含まれておらず、質問回答ペアの選定に有用である。設定部12は、各質問キーワードのスコアを、質問回答集における出現頻度、質問回答集における逆文書頻度、又はbm25などの手法により決定する。例えば、設定部12は、質問回答集に含まれる質問回答ペアの総数に対する、その質問キーワードを含む質問回答ペアの数の割合を算出する。設定部12は、その割合の逆数(逆文書頻度)を、スコアとする。又は、設定部12は、その割合に基づいて設定された数値を、スコアとしても良い。例えば、設定部12は、割合の逆数を対数関数により変換し、得られた数値をスコアとしても良い。
具体的な一例として、質問回答集が、図2に示すように、4つの質問回答ペア110a、110b、110c、及び110Kから構成されているとする。この質問回答集において、「預金口座」を含む質問回答ペアは、3つである。「預金口座」のスコアは、3/4の逆数である4/3に設定される。同様に、「残高確認」のスコアは、1/4の逆数である4/1に設定される。「申し込み」のスコアは、2/4の逆数である4/2に設定される。
選定部13は、クエリキーワードを含む質問回答ペアを選定すると、選定された各質問回答ペアについて、クエリキーワードに対応する質問キーワードのスコアを参照する。クエリキーワードに対応する質問キーワードを含む質問回答ペアには、その質問キーワードに設定されたスコアを付与する。選定部13は、質問回答ペアごとに、スコアの合計を算出する。選定部13は、クエリキーワードを含む質問回答ペアから、スコアの合計が閾値(第2閾値)を超えた質問回答ペアを選定する。生成部14は、スコアの合計が閾値を超えた質問回答ペアの数に応じて、応答を生成する。
例えば、設定部12は、ユーザにより入力されたクエリ文章の一部を第1クエリキーワードに設定し、クエリ文章の別の一部を第2クエリキーワードに設定する。選定部13は、第1クエリキーワードに対応する質問キーワードを含む1つ以上の質問回答ペアに、その質問キーワードに設定されたスコアを付与する。選定部13は、第2クエリキーワードに対応する別の質問キーワードを含む1つ以上の質問回答ペアに、その別の質問キーワードに設定されたスコアを付与する。選定部13は、付与されたスコアが閾値を超える1つ以上の質問回答ペアを選定する。
スコアに基づいて質問回答ペアを選定することで、質問回答ペアの数を絞り込むことができる。また、スコアに基づく選定により、ユーザの求める回答が選定から外れることを抑制できる。このため、ユーザが、求める回答によりたどり着き易くなる。
処理部10は、クエリ文章が否定文か判断しても良い。例えば、設定部12は、クエリキーワードを設定する際、クエリ文章が否定文か判断する。設定部12によりクエリ文章が否定文と判断されると、選定部13は、そのクエリキーワードを含まない質問回答ペアを選定する。
例えば、対話システム3が文章TX3を出力した後、ユーザは、「解約と残高確認ではない」とクエリ文章を入力する。設定部12は、このクエリ文章から「解約」及び「残高確認」をクエリキーワードとして抽出する。さらに、設定部12は、このクエリ文章を否定文と判断する。選定部13は、この判断結果に基づき、先に選定された3つの質問回答ペアから、「解約」及び「残高確認」の質問キーワードを含まない質問回答ペアを選定する。この結果、対話システム2は、文章TX5を出力する。
クエリ文章が否定文か判断するために、設定部12は、例えば、事前に作成された規則を参照する。一例として、規則は、「クエリ文章に『ではない』、『じゃない』、又は『以外』が含まれているとき、クエリ文章は否定文である」などのように記述される。設定部12は、クエリ文章が規則に記述された条件を満たすか判断することで、クエリ文章が否定文か判断する。
設定部12は、事前に作成されたモデルを参照しても良い。例えば、モデルは、人工ニューラルネットワークモデル又は再帰ニューラルネットワークモデルである。モデルは、事前に学習データを用いて学習される。学習データは、複数のペアデータを含む。各ペアデータは、文章と、その文章が否定形であることを示す情報と、を含む。モデルは、否定文が入力されたときに、否定文であることを示す情報を出力するように、学習される。
(変形例)
図12は、第2実施形態の変形例に係る対話システムを例示する模式図である。
変形例に係る対話システム2aでは、ユーザによる問い合わせの前に、事前にタスク用モデルが生成される。タスク用モデルは、処理部40によって生成される。例えば、対話システム2aが、処理部40を含む。処理部40は、生成したタスク用モデルを、第3記憶部23に記憶する。
対話システム2aにおいて、処理部40は、取出部41、抽出部42、及び生成部43を含む。処理部10は、受付部11、設定部12、及び選定部13を含む。
取出部41は、第1記憶部21にアクセスし、質問回答集から1つの質問回答ペアを取り出す。抽出部42は、第4記憶部24に記憶されたモデル又は規則に従って、質問回答ペアから質問キーワードを抽出する。抽出部42は、抽出した質問キーワードを、例えば第1記憶部21に記憶する。生成部43は、抽出した質問キーワードに基づいてタスク用シナリオを生成し、タスク用モデルを更新する。生成部43による処理は、図7に示すフローチャートのステップS123〜S126と同様である。
処理部10は、タスク用モデルを用いて、ユーザにより入力されたクエリ文章に対する応答を出力する。対話システム2aにおける処理部10の処理は、図8に示すフローチャートと同様である。
変形例に係る対話システム2aによれば、対話システム1aと同様に、処理部10がクエリ文章を受け付ける前に、複数のタスク用シナリオを含むタスク用モデルが生成される。このため、例えば、クエリ文章を受け付けた後の処理部10の処理負荷を低減できる。
対話システム2aにおいて、抽出部42は、質問回答集から質問キーワードを抽出する際に、各質問キーワードの重要度を表すスコアを決定しても良い。選定部13は、スコアに基づいて、タスク用モデルからタスク用シナリオを選定する。
一例として、設定部12は、ユーザにより入力されたクエリ文章から、2つのクエリキーワード(第1クエリキーワード及び第2クエリキーワード)を抽出する。タスク用モデルは、第1クエリキーワードに対応する第1質問キーワードを含むタスク用シナリオと、第2クエリキーワードに対応する第2質問キーワードを含むタスク用シナリオと、を含む。タスク用モデルには、第1質問キーワード及び第2質問キーワードの両方を含むタスク用シナリオが含まれていない。
この例において、選定部13は、1つのタスク用シナリオを選定する際、第1質問キーワードのスコアと、第2質問キーワードのスコアと、を比較する。選定部13は、よりスコアの高い質問キーワードを含むタスク用シナリオを選定する。選定部13は、選定したタスク用シナリオを応答として出力する。
図13は、第2実施形態に係る対話システムの動作を説明する模式図である。
図13の上段は、ユーザと対話システムの対話を例示している。図13の中段は、質問回答集を例示している。図13の下段は、タスク用モデルを例示している。
質問回答集は、例えば図13に示す6つの質問回答ペアから構成される。各質問は、「インターネットバンキング」、「海外」、及び「送金」のいずれかの質問キーワードを含む。質問回答集には、「インターネットバンキング」、「海外」、及び「送金」の全てを含む質問は含まれていない。この場合、処理部40は、「インターネットバンキング」の質問キーワードに対応するタスク用シナリオと、「海外」の質問キーワードに対応するタスク用シナリオと、「送金」の質問キーワードに対応するタスク用シナリオと、を生成する。
タスク用シナリオを生成するために質問回答集から質問キーワードを抽出した際、抽出部42は、各質問キーワードのスコアを決定する。図13の例では、「インターネットバンキング」を含む質問(回答候補)は、2つである。「海外」を含む質問は、3つである。「送金」を含む質問は、1つである。選定された質問回答ペアの数(6)に対する各クエリキーワードを含む質問の数を、スコアとする。「インターネットバンキング」のスコアは、6/2となる。「海外」のスコアは、6/3となる。「送金」のスコアは、6/1となる。
ユーザUSは、図13に示すように、「インターネットバンキングで海外へ送金できますか?」と対話システム2aへ入力する。設定部12は、このクエリ文章から、「インターネットバンキング」、「海外」、及び「送金」をクエリキーワードとして抽出する。選定部13は、「インターネットバンキング」、「海外」、及び「送金」のいずれかの質問キーワードに対応して生成されたタスク用シナリオを、タスク用モデルから抽出する。
選定部13は、複数のタスク用シナリオの1つを応答として出力する。選定部13は、複数のタスク用シナリオから1つのタスク用シナリオを選定するため、各タスク用シナリオに対応する質問キーワードのスコアを比較する。スコアの比較の結果、「送金」のスコアが最も高いと判断される。選定部13は、「送金」に対応するタスク用シナリオを応答として出力する。
図14は、実施形態に係る対話装置の構成を例示する模式図である。
上述した各実施形態に係る対話システムは、例えば、図14に示した対話装置3により実現される。対話装置3は、一例として、一般のコンピュータ(情報処理装置)と同様のハードウェア構成により実現される。対話装置3は、CPU(Central Processing Unit)91と、入力部92と、出力部93と、ROM(Read Only Memory)94と、RAM(Random Access Memory)95と、記憶部96と、通信装置97と、バス98とを含む。各部は、バス98により接続される。
CPU91は、ROM94または記憶部96に予め記憶された各種プログラムと協働して各種処理を実行し、対話装置3を構成する各部の動作を統括的に制御する。CPU91は、処理において、RAM95の所定領域を作業領域として用いる。CPU91は、ROM94または記憶部96に予め記憶されたプログラムと協働して、入力部92、出力部93、及び通信装置97等を実現させる。
入力部92は、例えば、キーボード、マイクロフォン、及びタッチパネルの少なくともいずれかからを含む。入力部92は、ユーザから入力された情報を指示信号として受け付け、その指示信号をCPU91に出力する。出力部93は、例えば、モニタ、スピーカ、及びプリンタの少なくともいずれかを含む。出力部93は、CPU91から出力された信号に基づいて、各種情報を出力する。
ROM94は、対話装置3の制御に用いられるプログラムおよび各種設定情報等を書き換え不可能に記憶する。RAM95は、SDRAM(Synchronous Dynamic Random Access Memory)等の揮発性の記憶媒体である。RAM95は、CPU91の作業領域として機能する。具体的には、対話装置3が用いる各種変数およびパラメータ等を一時記憶するバッファ等として機能する。
記憶部96は、フラッシュメモリ等の半導体による記憶媒体、磁気的または光学的に記録可能な記憶媒体等の書き換え可能な記録装置である。記憶部96は、対話装置3の制御に用いられるプログラムおよび各種設定情報等を記憶する。記憶部96は、第1記憶部21〜第4記憶部24として機能する。通信装置97は、外部の機器と通信して情報の送受信を行うために用いられる。
以上で説明した各実施形態によれば、ユーザと対話できる対話システムを、より容易に構築できる。各実施形態によれば、ユーザが、求める回答によりたどり着き易い、対話システム、対話方法、プログラム、及び記憶媒体を提供できる。
上記の種々のデータの処理は、例えば、プログラム(ソフトウェア)に基づいて実行される。例えば、コンピュータが、このプログラムを記憶し、このプログラムを読み出すことにより、上記の種々の情報の処理が行われる。
上記の種々の情報の処理は、コンピュータに実行させることのできるプログラムとして、磁気ディスク(フレキシブルディスク及びハードディスクなど)、光ディスク(CD−ROM、CD−R、CD−RW、DVD−ROM、DVD±R、DVD±RWなど)、半導体メモリ、または、他の記録媒体に記録されても良い。
例えば、記録媒体に記録された情報は、コンピュータ(または組み込みシステム)により読み出されることが可能である。記録媒体において、記録形式(記憶形式)は任意である。例えば、コンピュータは、記録媒体からプログラムを読み出し、このプログラムに基づいてプログラムに記述されている指示をCPUで実行させる。コンピュータにおいて、プログラムの取得(または読み出し)は、ネットワークを通じて行われても良い。
記録媒体からコンピュータ(または組み込みシステム)にインストールされたプログラムに基づいてコンピュータ上で稼働している種々のソフトウェアにおいて、上記の情報の処理の少なくとも一部が実施されても良い。このソフトウェアは、例えば、OS(オペレーティングシステム)などを含む。このソフトウェアは、例えば、ネットワーク上で動作するミドルウェアなどを含んでも良い。
実施形態に係る記録媒体は、上記の種々の情報の処理をコンピュータに実行させることのできるプログラムを記憶している。実施形態に係る記録媒体には、プログラムをLANまたはインターネットなどによりダウンロードして記憶された記録媒体も含まれる。複数の記録媒体に基づいて、上記の処理が行われても良い。
実施形態に係るコンピュータは、1つ又は複数の装置(例えばパーソナルコンピュータなど)を含む。実施形態に係るコンピュータは、ネットワークにより接続された複数の装置を含んでも良い。
以上、具体例を参照しつつ、本発明の実施の形態について説明した。しかし、本発明の実施形態は、これらの具体例に限定されるものではない。例えば、対話システムに含まれる処理部、記憶部などの各要素の具体的な構成に関しては、当業者が公知の範囲から適宜選択することにより本発明を同様に実施し、同様の効果を得ることができる限り、本発明の範囲に包含される。
また、各具体例のいずれか2つ以上の要素を技術的に可能な範囲で組み合わせたものも、本発明の要旨を包含する限り本発明の範囲に含まれる。
その他、本発明の実施の形態として上述した対話システム、対話方法、プログラム、及び記憶媒体を基にして、当業者が適宜設計変更して実施し得る全ての対話システム、対話方法、プログラム、及び記憶媒体も、本発明の要旨を包含する限り、本発明の範囲に属する。
その他、本発明の思想の範疇において、当業者であれば、各種の変更例及び修正例に想到し得るものであり、それら変更例及び修正例についても本発明の範囲に属するものと了解される。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
1、1a、2、2a 対話システム、 3 対話装置、 10 処理部、 11 受付部、 12 設定部、 13 選定部、 14 生成部、 21 第1記憶部、 22 第2記憶部、 23 第3記憶部、 24 第4記憶部、 30 処理部、 31 取出部、 32 抽出部、 33 生成部、 40 処理部、 41 取出部、 42 抽出部、 43 生成部、 91 CPU、 92 入力部、 93 出力部、 94 ROM、 95 RAM、 96 記憶部、 97 通信装置、 98 バス、 110 質問回答集、 110a〜110K 質問回答ペア、 111a〜111K ID、 112a〜112K 質問、 113a〜113K 回答、 114a〜114K 質問キーワード、 120 汎用モデル、 121a〜121d シナリオテンプレート、 122a〜122d 回答候補数、 131〜133 タスク用シナリオ、 Ns 閾値、 TX1〜TX6 文章、 US ユーザ

Claims (9)

  1. ユーザにより1つ以上の単語を含む第1文章が入力されると、前記1つ以上の単語の少なくとも一部を第1クエリキーワードに設定し、
    質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集から、前記第1クエリキーワードを含む1つ以上の前記質問回答ペアを選定し、
    選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力し、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力する、
    処理部を備えた対話システム。
  2. 前記処理部は、前記第2応答を出力した後、前記第1質問キーワード及び前記第2質問キーワードの一方を含む第2文章を受け付けると、前記第1質問キーワード及び前記第2質問キーワードの前記一方を含む前記質問回答ペアに含まれる前記回答を示す応答を出力する請求項1記載の対話システム。
  3. 前記第1閾値は、3以上であり、
    前記処理部は、前記数が2以上前記第1閾値未満のときには、前記選定された質問回答ペアにそれぞれ含まれる複数の前記質問を含む第3応答を出力する請求項1又は2に記載の対話システム。
  4. 前記処理部は、前記質問回答ペアの選定において、
    前記第1クエリキーワードと、前記質問回答集の複数の前記質問に含まれる複数の質問キーワードと、の間のそれぞれの類似度に基づき、前記第1クエリキーワードに類似する第1類似キーワードを前記複数の質問キーワードから抽出し、
    前記質問回答集から、前記第1クエリキーワード及び前記第1類似キーワードの少なくともいずれかを含む1つ以上の前記質問回答ペアを選定する、
    請求項1〜3のいずれか1つに記載の対話システム。
  5. 前記処理部は、前記第1クエリキーワードの設定において、
    前記第1文章を前記1つ以上の単語に分割し、
    前記1つ以上の単語のそれぞれの品詞を推定し、
    前記1つ以上の単語に含まれる動詞、名詞、及び未知語の1つを、前記第1クエリキーワードに設定する、
    請求項1〜4のいずれか1つに記載の対話システム。
  6. ユーザにより複数の単語を含む第1文章が入力されると、前記複数の単語の一部を第1クエリキーワードに設定し、前記複数の単語の別の一部を第2クエリキーワードに設定し、
    質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集を記憶し、複数の前記質問に含まれる複数の質問キーワードにはスコアがそれぞれ設定された第1記憶部を参照し、
    前記第1クエリキーワードに対応する前記複数の質問キーワードの1つを含む1つ以上の前記質問回答ペアに、前記複数の質問キーワードの前記1つに設定されたスコアを付与し、前記第2クエリキーワードに対応する前記複数の質問キーワードの別の1つを含む1つ以上の前記質問回答ペアに、前記複数の質問キーワードの別の1つに設定されたスコアを付与し、
    付与されたスコアが第2閾値を超える1つ以上の前記質問回答ペアを選定し、
    選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力し、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる複数の別の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力する、
    処理部を備えた対話システム。
  7. ユーザにより1つ以上の単語を含む第1文章が入力されると、前記1つ以上の単語の少なくとも一部を第1クエリキーワードに設定し、
    質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集から、前記第1クエリキーワードを含む1つ以上の前記質問回答ペアを選定し、
    選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力し、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力する、対話方法。
  8. 処理部に、
    ユーザにより1つ以上の単語を含む第1文章が入力されると、前記1つ以上の単語の少なくとも一部を第1クエリキーワードに設定させ、
    質問と、前記質問に対する回答と、を含む質問回答ペアを複数含む質問回答集から、前記第1クエリキーワードを含む1つ以上の前記質問回答ペアを選定させ、
    選定された前記質問回答ペアの数が1のときは、前記選定された質問回答ペアに含まれる前記回答を示す第1応答を出力させ、前記数が第1閾値以上のときは、前記選定された質問回答ペアの1つに含まれる複数の質問キーワードから抽出された第1質問キーワードと、前記選定された質問回答ペアの別の1つに含まれる別の複数の質問キーワードから抽出された第2質問キーワードと、を含む第2応答を出力させる、
    プログラム。
  9. 請求項8記載のプログラムを記憶した記憶媒体。
JP2019014417A 2019-01-30 2019-01-30 対話システム、対話方法、プログラム、及び記憶媒体 Pending JP2020123131A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2019014417A JP2020123131A (ja) 2019-01-30 2019-01-30 対話システム、対話方法、プログラム、及び記憶媒体
US16/565,239 US11282521B2 (en) 2019-01-30 2019-09-09 Dialog system and dialog method
CN201910849865.8A CN111506712B (zh) 2019-01-30 2019-09-10 对话系统、对话方法、程序以及存储介质
JP2022077024A JP7319504B2 (ja) 2019-01-30 2022-05-09 対話システム、対話方法、プログラム、及び記憶媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2019014417A JP2020123131A (ja) 2019-01-30 2019-01-30 対話システム、対話方法、プログラム、及び記憶媒体

Related Child Applications (1)

Application Number Title Priority Date Filing Date
JP2022077024A Division JP7319504B2 (ja) 2019-01-30 2022-05-09 対話システム、対話方法、プログラム、及び記憶媒体

Publications (1)

Publication Number Publication Date
JP2020123131A true JP2020123131A (ja) 2020-08-13

Family

ID=71732636

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2019014417A Pending JP2020123131A (ja) 2019-01-30 2019-01-30 対話システム、対話方法、プログラム、及び記憶媒体

Country Status (3)

Country Link
US (1) US11282521B2 (ja)
JP (1) JP2020123131A (ja)
CN (1) CN111506712B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11531693B2 (en) 2020-09-11 2022-12-20 Kabushiki Kaisha Toshiba Information processing apparatus, method and non-transitory computer readable medium
US11705122B2 (en) 2020-02-18 2023-07-18 Kabushiki Kaisha Toshiba Interface-providing apparatus and interface-providing method

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020175384A1 (en) * 2019-02-25 2020-09-03 Clarion Co., Ltd. Hybrid voice interaction system and hybrid voice interaction method
US11921712B2 (en) * 2020-10-05 2024-03-05 MeetKai, Inc. System and method for automatically generating question and query pairs
CN113553412B (zh) * 2021-06-30 2023-07-25 北京百度网讯科技有限公司 问答处理方法、装置、电子设备和存储介质
CN113506585A (zh) * 2021-09-09 2021-10-15 深圳市一号互联科技有限公司 一种语音通话的质量评估方法及系统

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355550A (ja) * 2003-05-30 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> 自然文検索装置、その方法及びプログラム
JP2005301780A (ja) * 2004-04-14 2005-10-27 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
JP2005352534A (ja) * 2004-06-08 2005-12-22 Fujitsu Ltd マルチベンダサポートシステム及びサポート方法
JP2012248161A (ja) * 2011-05-31 2012-12-13 Oki Electric Ind Co Ltd 対話型検索システム及びプログラム、並びに、対話シナリオ生成システム及びプログラム
JP2015225402A (ja) * 2014-05-26 2015-12-14 ソフトバンク株式会社 情報検索装置、情報検索プログラム、及び情報検索システム
US20180357282A1 (en) * 2017-06-12 2018-12-13 KMS Lighthouse Ltd. System and method for efficiently handling queries
JP2019003319A (ja) * 2017-06-13 2019-01-10 株式会社野村総合研究所 対話型業務支援システムおよび対話型業務支援プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102903008B (zh) * 2011-07-29 2016-05-18 国际商业机器公司 用于计算机问答的方法及系统
JP6414956B2 (ja) * 2014-08-21 2018-10-31 国立研究開発法人情報通信研究機構 質問文生成装置及びコンピュータプログラム
US11055745B2 (en) * 2014-12-10 2021-07-06 Adobe Inc. Linguistic personalization of messages for targeted campaigns
JP6618735B2 (ja) * 2015-08-31 2019-12-11 国立研究開発法人情報通信研究機構 質問応答システムの訓練装置及びそのためのコンピュータプログラム
US9471668B1 (en) * 2016-01-21 2016-10-18 International Business Machines Corporation Question-answering system
WO2018066489A1 (ja) * 2016-10-07 2018-04-12 国立研究開発法人情報通信研究機構 ノン・ファクトイド型質問応答システム及び方法並びにそのためのコンピュータプログラム
CN108153800B (zh) * 2016-12-06 2023-05-23 松下知识产权经营株式会社 信息处理方法、信息处理装置以及记录介质
JP7132090B2 (ja) 2018-11-07 2022-09-06 株式会社東芝 対話システム、対話装置、対話方法、及びプログラム

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004355550A (ja) * 2003-05-30 2004-12-16 Nippon Telegr & Teleph Corp <Ntt> 自然文検索装置、その方法及びプログラム
JP2005301780A (ja) * 2004-04-14 2005-10-27 Sony Corp 情報処理装置および情報処理方法、並びに、プログラム
JP2005352534A (ja) * 2004-06-08 2005-12-22 Fujitsu Ltd マルチベンダサポートシステム及びサポート方法
JP2012248161A (ja) * 2011-05-31 2012-12-13 Oki Electric Ind Co Ltd 対話型検索システム及びプログラム、並びに、対話シナリオ生成システム及びプログラム
JP2015225402A (ja) * 2014-05-26 2015-12-14 ソフトバンク株式会社 情報検索装置、情報検索プログラム、及び情報検索システム
US20180357282A1 (en) * 2017-06-12 2018-12-13 KMS Lighthouse Ltd. System and method for efficiently handling queries
JP2019003319A (ja) * 2017-06-13 2019-01-10 株式会社野村総合研究所 対話型業務支援システムおよび対話型業務支援プログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11705122B2 (en) 2020-02-18 2023-07-18 Kabushiki Kaisha Toshiba Interface-providing apparatus and interface-providing method
US11531693B2 (en) 2020-09-11 2022-12-20 Kabushiki Kaisha Toshiba Information processing apparatus, method and non-transitory computer readable medium

Also Published As

Publication number Publication date
CN111506712B (zh) 2023-11-07
US11282521B2 (en) 2022-03-22
CN111506712A (zh) 2020-08-07
US20200243082A1 (en) 2020-07-30

Similar Documents

Publication Publication Date Title
JP2020123131A (ja) 対話システム、対話方法、プログラム、及び記憶媒体
KR102388042B1 (ko) 대화 시스템 및 그것을 위한 컴퓨터 프로그램
US7925506B2 (en) Speech recognition accuracy via concept to keyword mapping
WO2019158014A1 (zh) 由计算机实施的与用户对话的方法和计算机系统
JP7111154B2 (ja) 回答選択装置、回答選択方法、回答選択プログラム
EP1800294A1 (en) System and methods for improving accuracy of speech recognition
JP7132090B2 (ja) 対話システム、対話装置、対話方法、及びプログラム
JP2016516247A (ja) 翻字、翻訳、書記素洞察のキュレーション及び統合による多言語ビジネスの印の向上
KR20230075052A (ko) 언어 모델을 이용하여 도메인에 특화된 대화를 제공하는 방법, 컴퓨터 장치, 및 컴퓨터 프로그램
US9507834B2 (en) Search suggestions using fuzzy-score matching and entity co-occurrence
WO2013056343A1 (en) System, method and computer program for correcting speech recognition information
JP2006106748A (ja) 音声認識の精度を改善するためのシステムおよび方法
JP5636309B2 (ja) 音声対話装置および音声対話方法
JP2016012197A (ja) 対話装置、方法およびプログラム
CN111914527A (zh) 自动聊天机器人语言表达生成
JP7319504B2 (ja) 対話システム、対話方法、プログラム、及び記憶媒体
KR102072238B1 (ko) 신뢰도 기반 질의응답 시스템 및 방법
JP2016115294A (ja) 情報検索方法及びデバイス
US20230140480A1 (en) Utterance generation apparatus, utterance generation method, and program
Furbach et al. Cognitive systems and question answering
EP3588328A1 (en) Assessing a natural language processing (nlp) engine
JP6097776B2 (ja) 単語選択装置、方法、及びプログラム
Luthier et al. Chat or Learn: a Data-Driven Robust Question-Answering System
CN116737913B (zh) 回复文本生成方法、装置、设备和可读存储介质
Allauzen et al. Voice query refinement

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200904

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20210728

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210728

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210917

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20220210