(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-27
(45)【発行日】2024-03-06
(54)【発明の名称】対話支援システム、対話支援方法、対話支援プログラム
(51)【国際特許分類】
G06F 40/253 20200101AFI20240228BHJP
G06F 40/242 20200101ALI20240228BHJP
【FI】
G06F40/253
G06F40/242
(21)【出願番号】P 2020035006
(22)【出願日】2020-03-02
【審査請求日】2023-02-16
(73)【特許権者】
【識別番号】000001270
【氏名又は名称】コニカミノルタ株式会社
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】中山 佳実
【審査官】成瀬 博之
(56)【参考文献】
【文献】特開2012-230614(JP,A)
【文献】特開2007-42010(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 40/20-40/58
G06F 3/16
G10L 15/00-17/26
(57)【特許請求の範囲】
【請求項1】
対話支援システムであって、
複数のユーザーによって前記対話支援システムに与えられる入力文を含む対話文を記憶する記憶部と、
前記対話文を表示する表示部と、
前記対話文に含まれる予め登録された定量的でない表現を検出し、前記入力文が疑問文または依頼文を含むか否かを分析する分析部と、
前記対話支援システムを制御する制御部と、
前記複数のユーザーの少なくとも一人への通知を行う通知部とを備え、
前記制御部は、
第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第1のユーザーによる前記疑問文若しくは前記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、前記検出された前記定量的でない表現を含むか否かを判断し、
前記通知部は、
前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が前記定量的でない表現を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が、前記定量的でない表現を含むことを前記第1のユーザーおよび前記第2のユーザーの少なくとも一方に通知する、対話支援システム。
【請求項2】
前記分析部は、ユーザーからの発話に対して音声認識処理を実行することにより文を生成し、
前記対話文に含まれる入力文は、前記分析部が前記音声認識処理を実行するにより生成した文、および前記複数のユーザー間におけるリアルタイム文字送受信サービスの文を含む、請求項1に記載の対話支援システム。
【請求項3】
前記第1のユーザーによる入力文が依頼文を含むか否かを分析することは、前記第1のユーザーによる入力文が予め登録された依頼表現を含む文であるか否かを分析することを含む、請求項1または2に記載の対話支援システム。
【請求項4】
前記第2のユーザーによる前記回答は、
前記第1のユーザーによる前記疑問文または前記依頼文に対して前記第2のユーザーが入力文を入力し始めてから、
1)前記第2のユーザー以外のユーザーが入力文を入力し始める時まで、
2)前記第2のユーザーが、予め定登録された話題変更表現を含む入力文を入力する時まで、
3)前記第2のユーザーが入力文を入力し終わってから前記第2のユーザー以外のユーザーが入力文を入力しないまま予め定められた時間が経過する場合に、前記第2のユーザーが入力文を入力し終わる時まで、
4)前記第2のユーザーが予め定められた数の入力文を入力し終わる時まで、および、
5)予め定められた時間が経過するまで、
のいずれかの間に前記第2のユーザーが入力する入力文である、請求項1~3のいずれか1項に記載の対話支援システム。
【請求項5】
前記分析部は、前記対話文に対して自然言語処理を行い、前記定量的でない表現が係る語句が属するカテゴリーを分類する、請求項1~4のいずれか1項に記載の対話支援システム。
【請求項6】
前記分析部は、前記第1のユーザーによる前記疑問文が、疑問詞を含む疑問文または選択疑問文であるか否かを分析し、
前記制御部は、
前記第1のユーザーによる前記疑問文が疑問詞を含む疑問文である場合に、前記定量的でない表現が係る語句が属するカテゴリーと前記疑問詞が属するカテゴリーとが同じであるか否かを判断し、
前記第1のユーザーによる前記疑問文が選択疑問文である場合に、前記定量的でない表現が係る語句が属するカテゴリーと、前記選択疑問文が含む選択対象が属するカテゴリーとが同じである否かを判断し、
前記通知部は、
前記定量的でない表現が係る語句が属するカテゴリーと前記疑問詞が属するカテゴリーとが同じである場合に、または、前記定量的でない表現が係る語句が属するカテゴリーと、前記選択疑問文が含む前記選択対象が属するカテゴリーとが同じである場合に、
前記第2のユーザーによる前記回答が前記定量的でない表現を含むことを、前記少なくとも一方のユーザーに通知する、請求項5に記載の対話支援システム。
【請求項7】
前記通知部は、
前記回答に含まれる前記定量的でない表現が係る語句が属するカテゴリーと前記疑問詞が属するカテゴリーとが同じでない場合に、前記回答に含まれる前記定量的でない表現が係る語句が属するカテゴリーと、前記疑問詞が属するカテゴリーとが同じでないことを、前記少なくとも一方のユーザーに通知し、
前記定量的でない表現が係る語句が属するカテゴリーと、前記選択疑問文に含まれる前記選択対象が属するカテゴリーとが同じでない場合に、前記回答に含まれる前記定量的でない表現が係る語句が属するカテゴリーと前記選択疑問文に含まれる前記選択対象が属するカテゴリーとが同じでないことを、前記少なくとも一方のユーザーに通知する、請求項6に記載の対話支援システム。
【請求項8】
前記分析部は、前記第1のユーザーによる入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合に、前記回答に含まれる前記定量的でない表現が、前記回答に含まれる肯定表現または否定表現に係るか否かを分析し、
前記通知部は、前記回答に含まれる前記定量的でない表現が、前記回答に含まれる肯定表現または否定表現に係るときに、前記回答が前記定量的でない表現を含むことを、前記少なくとも一方のユーザーに通知する、請求項6または7に記載の対話支援システム。
【請求項9】
前記通知部は、前記第1のユーザーによる入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合、前記回答が、予め登録された肯定表現および否定表現のいずれも含まないときに、前記回答が、予め登録された肯定表現および否定表現のいずれも含まないことを、前記少なくとも1方のユーザーに通知する、請求項6~8のいずれか1項に記載の対話支援システム。
【請求項10】
前記分析部は、前記対話文が、品質、費用および日程に関係する予め登録されたQCD(Quality Cost Delivery)表現を含むか否かを分析し、
前記通知部は、前記対話文が前記QCD表現を含む場合にのみ、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が、前記定量的でない表現を含むことを前記少なくとも一方のユーザーに通知する、請求項1~9のいずれか1項に記載の対話支援システム。
【請求項11】
前記少なくとも一方のユーザーに通知することは、前記定量的でない表現、および前記定量的でない表現が係る語句を含む、前記対話文の少なくとも一部を視覚的に変化させて通知すること、音声により通知すること、および振動により通知することの少なくとも1つを含み、
前記視覚的に変化させて通知することは、前記対話文の前記少なくとも一部に対して、色分けすること、太字にすること、文字のサイズを大きくすること、下線を付与すること、ポップアップを用いて警告すること、およびマークを付けて表示することにより通知することの少なくとも一つを含み、
前記音声により通知することは、警告音または警告音声により通知することを含む、請求項1~10のいずれか1項に記載の対話支援システム。
【請求項12】
前記視覚的に変化させて通知すること、前記音声により通知すること、および前記振動により通知することの少なくとも1つは、通知レベルに応じて強調した通知態様により通知することを含む、請求項11に記載の対話支援システム。
【請求項13】
前記制御部は、前記定量的でない表現に対する重要度を設定し、前記重要度に応じて前記通知レベルを決定する、請求項12に記載の対話支援システム。
【請求項14】
前記制御部は、予め解析された関連資料に基づいて、前記対話文が前記関連資料と関連する表現を含む場合に、前記重要度をより大きな値に設定する、請求項13に記載の対話支援システム。
【請求項15】
前記関連資料は、会議のアジェンダ、会議の予定表、会議名称、または会議案内の少なくともいずれか一つを含む、請求項14に記載の対話支援システム。
【請求項16】
前記制御部は、前記回答が複数の文を含む場合、前記回答が含む文の数が増えるにつれて、前記重要度をより小さな値に設定する、請求項13~15のいずれか1項に記載の対話支援システム。
【請求項17】
前記制御部は、前記第1のユーザーによる前記疑問文または前記依頼文に対して前記第2のユーザーが入力文を入力し始めてからの経過時間が長くなるにつれて、前記重要度をより小さな値に設定する、請求項13~15のいずれか1項に記載の対話支援システム。
【請求項18】
前記制御部は、前記関連資料に基づいて、
対話の開始時刻から予め定められた第1の時間が経過する前においては、前記第1の時間が経過した後に比べて、前記重要度をより小さな値に設定し、
対話の終了予定時刻よりも前の予め定められた第2の時間内においては、前記第2の時間内でないときに比べて、前記重要度をより大きな値に設定する、請求項14または15に記載の対話支援システム。
【請求項19】
前記通知部は、
前記第1のユーザーによる前記疑問文または前記依頼文が前記定量的でない表現を含むことに基づいて、前記第1のユーザーによる前記疑問文または前記依頼文が前記定量的でない表現を含むことを前記第2のユーザーのみに通知し、
前記第2のユーザーによる入力文に含まれる前記回答が前記定量的でない表現を含むことに基づいて、前記第2のユーザーによる入力文に含まれる前記回答が前記定量的でない表現を含むことを前記第1のユーザーにのみ通知する、請求項1~18のいずれか1項に記載の対話支援システム。
【請求項20】
対話を支援するためにコンピューターで実行される方法であって、
複数のユーザーによって前記コンピューターに与えられる入力文を含む対話文を、前記コンピューターに接続されている端末に表示させるステップと、
前記対話文に含まれる予め登録された定量的でない表現を検出し、前記入力文が疑問文または依頼文を含むか否かを分析するステップと、
第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第1のユーザーによる前記疑問文若しくは前記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、前記検出された前記定量的でない表現を含むか否かを判断するステップと、
前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が前記定量的でない表現を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が、前記定量的でない表現を含むことを前記第1のユーザーおよび前記第2のユーザーの少なくとも一方に通知するステップとを含む、方法。
【請求項21】
対話を支援する方法を実現するためのプログラムであって、
前記プログラムは、コンピューターに、
複数のユーザーによって前記コンピューターに与えられる入力文を受信するステップと、
前記入力文を含む対話文を前記コンピューターに接続されている複数の端末装置に表示するステップと、
前記対話文に含まれる予め登録された定量的でない表現を検出し、前記入力文が疑問文または依頼文を含むか否かを分析するステップと、
第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第1のユーザーによる前記疑問文若しくは前記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、前記検出された前記定量的でない表現を含むか否かを判断するステップと、
前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が前記定量的でない表現を含むことに基づいて、前記第1のユーザーによる前記疑問文若しくは前記依頼文、または前記第2のユーザーによる前記回答が、前記定量的でない表現を含むことを前記第1のユーザーおよび前記第2のユーザーの少なくとも一方に通知するステップとを実行させる、プログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、対話を支援する技術に関し、より特定的には、対話中の誤解を抑制する技術に関する。
【背景技術】
【0002】
会議その他の対話等において曖昧な表現が用いられる場合、その曖昧な表現に対して話し手と聞き手との認識にズレが生じていることがある。両者の認識にズレが生じると、その認識がズレている対象が重要であるときには、後日大きな問題が発生することがある。
【0003】
ユーザーの発言内容に含まれる曖昧表現に関し、例えば、特開2008-83753号公報(特許文献1)は、「発言内容中に曖昧表現が存在する時、話し手と聞き手の認知範囲を認知範囲DB122から検索し、話し手と聞き手の認知範囲に差異がある場合に検出して、警告を表示し、ミスコミュニケーションの可能性があることを話し手、聞き手に通知する」対話支援装置を開示している([要約]参照)。
【先行技術文献】
【特許文献】
【0004】
【発明の概要】
【発明が解決しようとする課題】
【0005】
特許文献1に開示された技術によれば、話し手と聞き手という複数のユーザー間の認識範囲が基準よりも異なる曖昧な表現が一律に検出され、実際の対話において重要でない部分までもが、いずれか一方のユーザーに通知される場合がある。その場合、当該ユーザーは、通知を受ける度に、その通知が重要であるか否かを判別する必要がある。したがって、通知を受けたユーザーが、その通知が重要であるか否かを都度判別する手間を省きつつ、対話中の誤解を未然に回避し、複数のユーザー間の合意形成を高める技術が必要とされている。
【0006】
本開示は、上記のような背景を鑑みてなされたものである。ある局面において、対話中の誤解を未然に回避し、複数のユーザー間の合意形成を高める技術が開示される。
【課題を解決するための手段】
【0007】
ある実施形態に従う対話支援システムは、複数のユーザーによって上記対話支援システムに与えられる入力文を含む対話文を記憶する記憶部と、上記対話文を表示する表示部と、上記対話文に含まれる予め登録された定量的でない表現を検出し、上記入力文が疑問文または依頼文を含むか否かを分析する分析部と、上記対話支援システムを制御する制御部と、上記複数のユーザーの少なくとも一人への通知を行う通知部とを備える。上記制御部は、第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第1のユーザーによる上記疑問文若しくは上記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、上記検出された上記定量的でない表現を含むか否かを判断する。上記通知部は、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が上記定量的でない表現を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が、上記定量的でない表現を含むことを上記第1のユーザーおよび上記第2のユーザーの少なくとも一方に通知する。
【0008】
上記分析部は、ユーザーからの発話に対して音声認識処理を実行することにより文を生成し、上記対話文に含まれる入力文は、上記分析部が上記音声認識処理を実行するにより生成した文、および上記複数のユーザー間におけるリアルタイム文字送受信サービスの文を含む。
【0009】
上記第1のユーザーによる入力文が依頼文を含むか否かを分析することは、上記第1のユーザーによる入力文が予め登録された依頼表現を含む文であるか否かを分析することを含む。
【0010】
上記第2のユーザーによる上記回答は、上記第1のユーザーによる上記疑問文または上記依頼文に対して上記第2のユーザーが入力文を入力し始めてから、1)上記第2のユーザー以外のユーザーが入力文を入力し始める時まで、2)上記第2のユーザーが、予め定登録された話題変更表現を含む入力文を入力する時まで、3)上記第2のユーザーが入力文を入力し終わってから上記第2のユーザー以外のユーザーが入力文を入力しないまま予め定められた時間が経過する場合に、上記第2のユーザーが入力文を入力し終わる時まで、4)上記第2のユーザーが予め定められた数の入力文を入力し終わる時まで、および、5)予め定められた時間が経過するまで、のいずれかの間に上記第2のユーザーが入力する入力文である。
【0011】
上記分析部は、上記対話文に対して自然言語処理を行い、上記定量的でない表現が係る語句が属するカテゴリーを分類する。
【0012】
上記分析部は、上記第1のユーザーによる上記疑問文が、疑問詞を含む疑問文または選択疑問文であるか否かを分析する。上記制御部は、上記第1のユーザーによる上記疑問文が疑問詞を含む疑問文である場合に、上記定量的でない表現が係る語句が属するカテゴリーと上記疑問詞が属するカテゴリーとが同じであるか否かを判断し、上記第1のユーザーによる上記疑問文が選択疑問文である場合に、上記定量的でない表現が係る語句が属するカテゴリーと、上記選択疑問文が含む選択対象が属するカテゴリーとが同じである否かを判断する。上記通知部は、上記定量的でない表現が係る語句が属するカテゴリーと上記疑問詞が属するカテゴリーとが同じである場合に、または、上記定量的でない表現が係る語句が属するカテゴリーと、上記選択疑問文が含む上記選択対象が属するカテゴリーとが同じである場合に、上記第2のユーザーによる上記回答が上記定量的でない表現を含むことを、上記少なくとも一方のユーザーに通知する。
【0013】
上記通知部は、上記回答に含まれる上記定量的でない表現が係る語句が属するカテゴリーと上記疑問詞が属するカテゴリーとが同じでない場合に、上記回答に含まれる上記定量的でない表現が係る語句が属するカテゴリーと、上記疑問詞が属するカテゴリーとが同じでないことを、上記少なくとも一方のユーザーに通知し、上記定量的でない表現が係る語句が属するカテゴリーと、上記選択疑問文に含まれる上記選択対象が属するカテゴリーとが同じでない場合に、上記回答に含まれる上記定量的でない表現が係る語句が属するカテゴリーと上記選択疑問文に含まれる上記選択対象が属するカテゴリーとが同じでないことを、上記少なくとも一方のユーザーに通知する。
【0014】
上記分析部は、上記第1のユーザーによる入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合に、上記回答に含まれる上記定量的でない表現が、上記回答に含まれる肯定表現または否定表現に係るか否かを分析する。上記通知部は、上記回答に含まれる上記定量的でない表現が、上記回答に含まれる肯定表現または否定表現に係るときに、上記回答が上記定量的でない表現を含むことを、上記少なくとも一方のユーザーに通知する。
【0015】
上記通知部は、上記第1のユーザーによる入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合、上記回答が、予め登録された肯定表現および否定表現のいずれも含まないときに、上記回答が、予め登録された肯定表現および否定表現のいずれも含まないことを、上記少なくとも1方のユーザーに通知する。
【0016】
上記分析部は、上記対話文が、品質、費用および日程に関係する予め登録されたQCD(Quality Cost Delivery)表現を含むか否かを分析する。上記通知部は、上記対話文が上記QCD表現を含む場合にのみ、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が、上記定量的でない表現を含むことを上記少なくとも一方のユーザーに通知する。
【0017】
上記少なくとも一方のユーザーに通知することは、上記定量的でない表現、および上記定量的でない表現が係る語句を含む、上記対話文の少なくとも一部を視覚的に変化させて通知すること、音声により通知すること、および振動により通知することの少なくとも1つを含む。上記視覚的に変化させて通知することは、上記対話文の上記少なくとも一部に対して、色分けすること、太字にすること、文字のサイズを大きくすること、下線を付与すること、ポップアップを用いて警告すること、およびマークを付けて表示することにより通知することの少なくとも一つを含む。上記音声により通知することは、警告音または警告音声により通知することを含む。
【0018】
上記視覚的に変化させて通知すること、上記音声により通知すること、および上記振動により通知することの少なくとも1つは、通知レベルに応じて強調した通知態様により通知することを含む。
【0019】
上記制御部は、上記定量的でない表現に対する重要度を設定し、上記重要度に応じて上記通知レベルを決定する。
【0020】
上記制御部は、予め解析された関連資料に基づいて、上記対話文が上記関連資料と関連する表現を含む場合に、上記重要度をより大きな値に設定する。
【0021】
上記関連資料は、会議のアジェンダ、会議の予定表、会議名称、または会議案内の少なくともいずれか一つを含む。
【0022】
上記制御部は、上記回答が複数の文を含む場合、上記回答が含む文の数が増えるにつれて、上記重要度をより小さな値に設定する。
【0023】
上記制御部は、上記第1のユーザーによる上記疑問文または上記依頼文に対して上記第2のユーザーが入力文を入力し始めてからの経過時間が長くなるにつれて、上記重要度をより小さな値に設定する。
【0024】
上記制御部は、上記関連資料に基づいて、対話の開始時刻から予め定められた第1の時間が経過する前においては、上記第1の時間が経過した後に比べて、上記重要度をより小さな値に設定し、対話の終了予定時刻よりも前の予め定められた第2の時間内においては、上記第2の時間内でないときに比べて、上記重要度をより大きな値に設定する。
【0025】
上記通知部は、上記第1のユーザーによる上記疑問文または上記依頼文が上記定量的でない表現を含むことに基づいて、上記第1のユーザーによる上記疑問文または上記依頼文が上記定量的でない表現を含むことを上記第2のユーザーのみに通知し、上記第2のユーザーによる入力文に含まれる上記回答が上記定量的でない表現を含むことに基づいて、上記第2のユーザーによる入力文に含まれる上記回答が上記定量的でない表現を含むことを上記第1のユーザーにのみ通知する。
【0026】
他の局面に従うと、対話を支援するためにコンピューターで実行される方法が提供される。上記方法は、複数のユーザーによって上記コンピューターに与えられる入力文を含む対話文を、上記コンピューターに接続されている端末に表示させるステップと、上記対話文に含まれる予め登録された定量的でない表現を検出し、上記入力文が疑問文または依頼文を含むか否かを分析するステップと、第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第1のユーザーによる上記疑問文若しくは上記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、上記検出された上記定量的でない表現を含むか否かを判断するステップと、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が上記定量的でない表現を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が、上記定量的でない表現を含むことを上記第1のユーザーおよび上記第2のユーザーの少なくとも一方に通知するステップとを含む。
【0027】
さらに他の局面に従うと、対話を支援する方法を実現するためのプログラムが提供される。上記プログラムは、コンピューターに、複数のユーザーによって上記コンピューターに与えられる入力文を受信するステップと、上記入力文を含む対話文を上記コンピューターに接続されている複数の端末装置に表示するステップと、上記対話文に含まれる予め登録された定量的でない表現を検出し、上記入力文が疑問文または依頼文を含むか否かを分析するステップと、第1のユーザーによる入力文が疑問文または依頼文を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第1のユーザーによる上記疑問文若しくは上記依頼文に対する、第2のユーザーによる入力文に含まれる回答が、上記検出された上記定量的でない表現を含むか否かを判断するステップと、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が上記定量的でない表現を含むことに基づいて、上記第1のユーザーによる上記疑問文若しくは上記依頼文、または上記第2のユーザーによる上記回答が、上記定量的でない表現を含むことを上記第1のユーザーおよび上記第2のユーザーの少なくとも一方に通知するステップとを実行させる。
【発明の効果】
【0028】
本開示によれば、対話中の誤解を未然に回避し、複数のユーザー間の合意形成を高めることができる。
【図面の簡単な説明】
【0029】
【
図1】対話支援システム150のハードウェア構成の一例を示す図である。
【
図2】クライアント端末110のハードウェア構成の一例を示す図である。
【
図3】対話支援システム150の構成要素であるサーバー130のハードウェア構成の一例を示す図である。
【
図4】ある実施の形態に従うクライアント端末110が備える構成の一例を表わすブロック図である。
【
図5】ある実施の形態に従って、当該表現に起因する誤解を回避するためにサーバー130によって実現される構成を表わすブロック図である。
【
図6A】ある実施の形態に従う、疑問文または依頼文、またはその回答が含む定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。
【
図6B】ある実施の形態に従う、疑問文または依頼文、またはその回答が含む定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。
【
図7】ある実施の形態に従う、第1のパターンの受け答えに対する処理(
図6のステップS640)を示すフローチャートである。
【
図8】ある実施の形態に従う、第2のパターンの受け答えに対する処理(
図6のステップS645)を示すフローチャートである。
【
図9】ある実施の形態に従う、第3のパターンの受け答えに対する処理(
図6のステップS650)を示すフローチャートである。
【
図10】ユーザーへの通知の態様を通知レベルに応じて変更するための設定情報の一例を示す図である。
【
図11】ユーザー100Aが利用するクライアント端末110Aの表示部400Aが表示する画面の一例を表わす図である。
【
図12】ユーザー100間でなされる対話例における、対話文のログと、ユーザー100への通知態様を決定するための情報とを保持するテーブルを示す図である。
【
図13】ユーザー100間でなされる対話例における、対話文のログと、ユーザー100への通知態様を決定するための情報とを保持するテーブルを示す図である。
【
図14】ユーザー100間でなされる対話例における、対話文のログと、ユーザー100への通知態様を決定するための情報とを保持するテーブルを示す図である。
【
図15A】ある実施の形態に従う、定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。
【
図15B】ある実施の形態に従う、定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0030】
以下、図面を参照しつつ、本開示における実施形態について説明する。以下の説明では、同一の構成要素には同一の符号を付してある。それらの名称も同じである。したがって、それらについての詳細な説明は繰り返さない。また、以下の説明では、複数の同一の構成要素に対して言及する場合、構成123A,123Bのように表現することがある。それらを総称する場合は、構成123と表現する。また、対話の一例として、テレビ会議等における対話を用いることがあるが、本開示は、会議以外の対話に対しても適用可能である。
【0031】
まず、本開示に係る対話支援システムが導出された背景について説明する。テレビ会議等の遠隔対話において、初対面のユーザー同士が母国語以外の言語を用いて対話する場合がある。このような場合、各ユーザーは、相手のユーザーに対して知っている情報が少ない。したがって、ユーザー間の共通の認識が少なく、一方のユーザーにとっては常識であることが他方のユーザーにとっては常識でないときがあり得る。このようなときに、ユーザーが曖昧な表現を用いると、対話において余計に誤解が生じやすい。
【0032】
例えば、ユーザーが相手に質問をしたにも拘わらず、相手がその質問に答えていない場合、または全く的外れの回答をする場合等がある。このような場合、当該ユーザーは、対話支援システムを用いなくても、相手との対話が成立していないことに気付きやすい。そのため、当該ユーザーは、当該回答に対して相手に再度質問をすることができる。
【0033】
一方、ユーザーが曖昧な表現が含まれる発話をした場合、対話が一見成立しているように見えて、実際にはユーザー間の認識がズレていることがある。例えば、「その仕事をすぐにやります」という言葉は、その仕事を当日内にやるのか、または一週間以内にやるのか等、はっきりしないことが多い。特に文化が互いに異なる外国人同士の対話等において、曖昧な表現に対してユーザー間の認識が一致しないことがある。このようなとき、各ユーザーが、対話が成立して合意が形成されたと対話中に感じていたとしても、実際には合意は形成されておらずに誤解が残ったままであることがあり得る。その結果、後日大きな問題が生じることがある。
【0034】
このような課題に対し、従来の対話支援装置は、曖昧な表現と当該表現の修飾先との組み合わせごとに各ユーザーが認識している具体的な数値範囲を登録したデータベースを必要としていた。当該装置は、当該データベースに基づいて、ユーザー間における当該数値範囲の違いを求めていた。そして、当該装置は、当該数値範囲のズレが基準より大きいときには、ユーザーに通知を行う。
【0035】
しかし、上記のようなデータベースを予め用意しておくことは容易ではない。当該装置は、例えば、「もう少し早い」という曖昧な表現と、その当該表現の修飾先である「納期」との組み合わせについて各ユーザーが認知している数値範囲が予め登録されたデータベースを必要としていた。さらに、当該数値範囲は、当該表現および当該修飾先のあらゆる組み合わせごとに登録されている必要があった。ユーザーが、このようなデータベースを対話が始まる前に常に準備しておくことは容易ではない。特に、初対面の相手、文化が異なる外国人等、ユーザーが対話をした回数が多くない相手に対して、そのような前処理がなされたデータベースを準備しておくことは、実際には不可能に近い。
【0036】
また、実際の対話においては、重要である部分と重要でない部分がある。ユーザーは、ユーザー自身が重要でないと感じる部分に関してまで、対話において曖昧な表現が含まれることが通知されることを望まないことがあり得る。従来提案されていた技術において、曖昧な表現に対するユーザー間の認識範囲が基準よりも異なるという理由で通知がユーザーに一律になされる結果、当該ユーザーは、その通知が重要であるか否かを判別する必要があった。さらに、ユーザーは、通知がなされる回数が多すぎると感じたり、通知されること自体が煩わしいと感じたりすることがあり得た。
【0037】
これに対して、ある実施形態に従う対話支援システムは、上述したようなデータベースを前提としない。したがって、上述したような前処理が不要であり、実現性が高い。
【0038】
[対話支援システムのハードウェア構成およびその動作の概要]
そこで、
図1~3を参照して、対話支援システム150のハードウェア構成およびその動作の概要について説明する。
図1は、対話支援システム150のハードウェア構成の一例を示す図である。
【0039】
対話支援システム150は、クライアント端末110A,110Bと、ネットワーク120と、サーバー130とを含む。クライアント端末110A,110Bは、それぞれ、ネットワーク120を介して、サーバー130および他のクライアント端末110に接続されている。
図1の例においては、2つのクライアント端末110A,110Bが例示されているが、端末の数は2に限定されるものではない。より具体的には、対話支援システム150は、3拠点以上で行われる対話を支援するシステムであってもよい。また、
図1の例において、クライアント端末110は、PC(Personal Computer)として記載しているが、他の局面において、タブレットコンピューター、スマートフォン等の情報処理装置、またはテレビ会議用のテレビであってもよい。
【0040】
ネットワーク120は、イーサネット(登録商標)等の有線LAN(Local Area Network)又はWi-Fi(Wireless Fidelity)(登録商標)等の無線LANであってもよい。通信方式は、特に限定されない。
【0041】
ユーザー100A,100Bは、それぞれ、拠点1,2に配置されているクライアント端末110A,110Bを用いることにより遠隔会議に参加し、他方のユーザー100と対話できる。ここで、遠隔会議とは、ネットワークを介して接続された端末を使って、各ユーザーが参加する形態の会議である。遠隔会議の一例は、電話回線またはインターネット回線を用いたテレビ会議を含む。
図1の例において、ユーザー100Aとユーザー100Bとは、ネットワーク120を介した遠隔会議により、お互いに対話できる。
【0042】
図2は、クライアント端末110のハードウェア構成の一例を示す図である。
図2に示されるように、クライアント端末110は、CPU(Central Processing Unit)200と、RAM(Random Access Memory)205と、ROM(Read Only Memory)210と、HDD(Hard Disk Drive)215と、通信I/F(Interface)220と、キーボード222と、マイク225と、カメラ230と、スピーカー235と、モニター240と、バス245とを備える。
【0043】
CPU200は、クライアント端末110全体の動作を制御する。一例として、CPU200は、クライアント端末110上で動作する対話支援システムのUI(User Interface)画面を、対話の進行に応じてユーザー100に対してモニター240に表示させる。また、CPU200は、ユーザーによる発話、すなわち音声入力に対して音声認識処理を行うことにより当該発話に対応するテキストデータを生成する。他の局面において、CPU200に代えて、少なくとも1つの組み込みCPU、少なくとも1つのASIC(Application Specific Integrated Circuit)、少なくとも1つのFPGA(Field Programmable Gate Array)、またはこれらの組み合わせが用いられてもよい。
【0044】
RAM205は、CPU205によって実行されるプログラムおよび参照されるデータを一時的に格納する。CPU205は、ROM210に保存されているプログラムまたは各種データをRAM205に読み込んで実行する。ある局面において、SRAM(Static Random Access Memory)またはDRAM(Dynamic Random Access Memory)がRAM205として使用されてもよい。
【0045】
ROM210は、CPU200において実行されるプログラムを記憶するためのメモリである。ある局面において、ROM210は、クライアント端末110を制御するための制御プログラム、ユーザーによりなされた発話を音声認識処理してテキストデータを生成するためのプログラム、当該テキストデータに対して公知の自然言語処理を実行するためのプログラム等を保存している。
【0046】
HDD215は、対話支援システム150において使用される様々なデータを格納する。HDD215は、クライアント端末110を制御するための制御プログラム、遠隔会議におけるユーザーによる発話に基づく音声データ、当該音声データに対して音声認識処理がなされた後のテキストデータ等を記憶している。他の局面において、HDD215に代えて、SSD(Solid State Drive)等の補助記憶装置が使用されてもよい。
【0047】
通信I/F220は、クライアント端末110をネットワーク120に接続するためのインターフェイスである。クライアント端末110は、複数の通信I/F220を備えてもよい。ある局面において、有線LANポートおよびWi-Fiモジュール等が通信I/F220として使用されてもよい。
【0048】
キーボード222は、ユーザー100がテキストを入力するときに用いる機器である。ある局面において、ユーザー100は、対話支援システム150において、音声入力に代えてキーボード222を用いて文字を入力し、例えばチャット等の、複数のユーザー間におけるリアルタイム文字送受信サービスの文を入力できる。他の局面において、ユーザー100は、キーボード222に代えて、マウスを用いることによりテキストを入力してもよい。
【0049】
マイク225は、クライアント端末110が設置された拠点におけるユーザー100による音声入力を音声データとして受け付ける。受け付けられた音声データは、通信I/F220を介して、他の拠点に設けられたクライアント端末110に出力される。当該音声データは、音声認識処理後にテキストデータに変換され、当該テキストデータがモニター240に表示される。
【0050】
カメラ230は、クライアント端末110が設けられた拠点における撮像画像、例えばユーザーの顔等の映像を取得する。カメラ230により撮像された映像は、通信I/F220を介して、他の拠点に設けられたクライアント端末110に出力され、当該他のクライアント端末110におけるモニター240に表示される。
【0051】
スピーカー235は、他の拠点に設けられたクライアント端末110が出力した音声データを音声に変換して出力し、あるいは、対話支援システム150における警告音等を出力する。
【0052】
モニター240は、対話支援システム150のUI画面等を表示する。ユーザー100は、モニター240を通じて、他のユーザーの顔、進行している対話においてなされた発話のログ等を見ることができる。ある局面において、モニター240として、液晶パネル又は有機EL(Electro-Luminescence)ディスプレイが用いられてもよい。
【0053】
バス245は、CPU205、RAM205、ROM210、HDD215等の、クライアント端末110の構成要素の接続を受け付ける。
【0054】
図3は、対話支援システム150の構成要素であるサーバー130のハードウェア構成の一例を示す図である。
図3の例において、サーバー130は、CPU300と、RAM305と、ROM310と、HDD315と、通信I/F320と、バス325とを備える。サーバー130は、一般的なコンピューターで実現される。
【0055】
CPU300、RAM305、ROM310、HDD315、通信I/F320およびバス325の構成は、クライアント端末110を構成するCPU200、RAM205、ROM210、HDD215およびバス245の構成とそれぞれ同様である。したがって、サーバー130を構成する上記の要素の説明を繰り返さない。
【0056】
[定量的でない表現に起因する誤解の回避]
図4を参照して、定量的でない表現に起因する誤解の回避について説明する。
図4は、ある実施の形態に従うクライアント端末110が備える構成の一例を表わすブロック図である。クライアント端末110は、表示部400と、音声取得部405と、処理部420とを備える。
【0057】
表示部400は、対話支援システム150のUI画面として、ユーザー100Aとユーザー100Bとの対話文等を表示する。ある局面において、表示部400は、モニター240により実現される。ここで、本開示における対話文は、二人以上のユーザー間の一連の対話を表す文である。当該対話文は、一方のユーザーによる疑問文または依頼文、および当該疑問文または依頼文に対する回答を含む。
【0058】
音声取得部405は、クライアント端末110が設置された拠点にいるユーザーによる音声入力を音声データとして受け付ける。ある局面において、音声取得部405は、マイク225により実現される。
【0059】
処理部420は、対話支援システム150を実現する処理を実行する。処理部420は、記憶部410と、分析部415とを備える。
【0060】
記憶部410は、複数のユーザーによって対話支援システム150に与えられる入力文を含む対話文を記憶する。記憶される文は、ユーザー100Aとユーザー100Bとの間の対話を表す対話文を含む。ある局面において、記憶部410は、ROM210,HDD215等により実現される。記憶部410が記憶する他のデータについては、
図5を参照して後述する。
【0061】
ここで、ユーザー100による入力文は、ユーザー100の発話に基づく入力文と、ユーザー100の発話に基づかない入力文とを含む。ユーザー100の発話に基づく入力文とは、ユーザー100の発話に対して分析部415が音声認識処理を実行することにより生成する文である。
【0062】
また、ユーザー100の発話に基づかない入力文とは、音声入力機器ではない入力機器、例えばキーボード222、マウス等を用いてユーザーによって入力される文である。より具体的には、ユーザー100の発話に基づかない入力文は、一例として、対話支援システム150においてユーザー100がチャットをしたときに、当該チャットに含まれる文である。
【0063】
分析部415は、ユーザーによる入力文を分析する。より具体的には、分析部415は、当該入力文に含まれる定量的でない表現を検出する。ある局面において、当該定量的でない表現のリストは、データベースとして、記憶部410に予め登録されている。当該表現の一例は、「少し」、「すぐ」または「ほぼ」等を含む。当該表現は、ユーザー100Aとユーザー100Bとの対話における誤解の原因となり得る。定量的でない表現は、曖昧な表現の中でも、各ユーザーが実際に想定している具体的な数値が異なり得る表現である。定量的でない表現については、後述する。
【0064】
また、分析部415は、上記入力文が疑問文または依頼文を含むか否かを判断する。ある局面において、分析部415は、当該入力文を文法的に分析することにより、当該入力文が疑問文または依頼文を含むか否かを判断する。
【0065】
例えば、日本語の入力文が「~ですか?」という表現を含む場合に、または英語の入力文が「Do you ~」という表現を含む場合に、分析部415は、当該入力文が疑問文であると判断し得る。日本語の入力文が「何故」、「何」、「いつ」、「どこ」または「誰」等の5W1H型の疑問詞を含む場合、又は、英語の入力文が「Why」、「What」、「When」、「Where」または「Who」等の疑問詞を含む場合、分析部415は、当該入力文が疑問詞を含む疑問文(すなわち疑問詞疑問文)であると判断し得る。当該入力文が「どちらが」または「Which」等の予め登録された選択表現を含む場合、分析部415は、当該入力文が選択疑問文であると判断し得る。当該入力文が、疑問詞疑問文以外の疑問文であり、かつ選択疑問文以外の疑問文である場合に、分析部415は、当該入力文が、「はい」等の肯定表現、または「いいえ」等の否定表現のいずれかで答えるタイプの疑問文であると判断し得る。当該疑問文の例は、諾否疑問文および付加疑問文を含む。ある局面において、このような疑問表現、依頼表現、肯定表現、否定表現などは、自然言語処理用データベース520に格納されている。なお、上記において、ユーザーが入力する文が、日本語または英語以外の言語である場合について説明したが、本開示は、他の言語に対しても同様に適用可能である。
【0066】
また、日本語の入力文が「~をお願いします」「~をして頂けませんか?」等の予め登録された依頼表現を含む場合に、または、英語であれば「I ask ~」、「I want ~」等の依頼に関連する動詞を含む場合に、分析部415は、当該入力文が依頼文と判断し得る。
【0067】
分析部415は、ユーザー100による入力文に対して、公知の自然言語処理を行うことができる。公知の自然言語処理は、一例として、形態素解析、構文解析、意味解析および係り受け解析を含む。分析部415は、当該入力文に対して係り受け解析を行い、定量的でない表現が係る語句を分析する。分析部415は、当該入力文に対して意味解析を行い、当該入力文に含まれる語句が属するカテゴリーを分類することができる。例えば、ユーザー100Aによる「いつまでに納品できますか?」という質問に対して、ユーザー100Bが「1ヶ月後には納品できます」と回答する場合、分析部415は、入力文に含まれる「いつ」という語句が時間に関するカテゴリーに属し、ユーザー100Bによる入力文に含まれる「1ヶ月後」という語句が時間に関するカテゴリーに属する、という分析結果を得ることができる。
【0068】
分析部415は、対話文が、品質、費用および日程に関係する予め登録されたQCD(Quality Cost Delivery)表現を含むか否かを分析し得る。QCD表現は、記憶部410に格納されている。一例として、QCD表現は、「品質」、「コスト」または「納期」等の表現を含む。ある局面において、分析部415は、CPU200がROM210,HDD215等に格納されているプログラムを実行することにより実現される。
【0069】
他の局面において、クライアント端末110A,110Bの一方のみが記憶部410と分析部415とを有していても良い。例えば、クライアント端末110Aのみが記憶部410と分析部415とを有し、クライアント端末110Bは、記憶部410と分析部415とを有していなくてもよい。このとき、当該他方のクライアント端末110Bを利用するユーザー100Bは、クライアント端末110Bが分析部415を有していなくても、当該一方のクライアント端末110Aにより開催される遠隔会議等における対話に参加できる。したがって、対話支援システム150を実現するためのプログラムは、クライアント端末110Aのみにインストールされていてもよい。当該プログラムは、単独のアプリケーションプログラムとして、あるいは、ウェブ対話アプリの一部として実現され得る。
【0070】
さらに他の局面において、クライアント端末110A,110Bのいずれもが処理部420を備えておらず、サーバー130が処理部420を備えていてもよい。このような構成によれば、ユーザー100A,100Bがそれぞれ利用するクライアント端末110A,110Bが処理部420を備えていなくても、ユーザー100A,110Bは、サーバー130にアクセスすることにより、遠隔会議等における対話に参加できる。このとき、記憶部410は、クライアント端末110に含まれるROM210,HDD215に代えて、サーバー130に含まれるROM310,HDD315により実現される。また、分析部415は、サーバー130に含まれるCPU300がROM310,HDD315に格納されているプログラムに従って動作することにより実現される。
【0071】
次に、対話支援システム150の具体的な動作について説明する。
【0072】
[疑問文または依頼文に対する回答の範囲]
複数のユーザー100A,100Bの間の対話文における疑問文または依頼文、およびその回答が予め登録された定量的でない表現を含む場合、対話支援システム150は、ユーザー100A,100Bの少なくとも一方のユーザーにその旨を通知し得る。
【0073】
以下、ユーザー100Aの疑問文または依頼文に対して、ユーザー100Bが回答するという状況を想定する。このような状況において、ユーザー100Bが入力する文の全てが、上記疑問文または依頼文に対する回答であるとは限らない。例えば、ユーザー100Bが入力する文における話題が、上記疑問文または依頼文に関係がない話題に途中で変わることがあり得る。そこで、まず、上記回答の範囲を特定するための方法について説明する。
【0074】
ユーザー100Bによる回答は、ユーザー100Aによる上記疑問文または上記依頼文に対してユーザー100Bが入力文を入力し始めてから、当該回答の終了時までの間にユーザー100Bが入力する文である。
【0075】
ある局面において、ユーザー100Bとは別のユーザーが入力文を入力し始める時点で、ユーザー100Bの回答は完了したと考えられる。この場合、上記回答の終了時は、(A)ユーザー100Bとは別のユーザーが入力文を入力し始める時となる。分析部415は、文を入力したユーザー100を特定できる。したがって、分析部415は、文を入力するユーザー100が切り替わる時、すなわちユーザー100Bとは別のユーザーが入力文を入力し始める時を特定できる。
【0076】
他の局面において、上記回答の終了時は、(B)ユーザー100Bが、話題を変更するための表現を含む入力文を入力する時であってもよい。ある局面において、上記表現のリストは、データベース520に予め登録されている。上記表現は、一例として、「ところで」、「そういえば」等を含む。ユーザー100Bによる入力文が上記表現を含む場合、当該入力文における話題が、ユーザー100Aに対する回答から途中で変更したと考えられる。したがって、ユーザー100Aに対するユーザー100Bの入力文のうち、上記表現の直前までが、ユーザー100Bの回答であると考えられ得る。
【0077】
他の局面において、上記回答の終了時は、(C)ユーザー100Bが入力文を入力し終わってからユーザー100B以外のユーザーが入力文を入力しないまま予め定められた時間が経過する場合に、ユーザー100Bが入力文を入力し終わる時であってもよい。このような場合、既に対話が終了したと考えることができる。したがって、ユーザー100Bが入力文を入力し終わる時が、当該ユーザーの回答が終わる時と考えられ得る。
【0078】
他の局面において、上記回答の終了時は、(D)ユーザー100Bが予め定められた数の入力文を入力し終わる時であってもよい。ユーザー100Aに対して、ユーザー100Bが予め定められた数の文を入力し終わる時には、当該ユーザーの回答が終わっていると考えられ得るからである。
【0079】
さらに他の局面において、上記回答の終了時は、(E)予め定められた時間が経過する時であってもよい。ユーザー100Aに対して、ユーザー100Bが文を入力し始めてから予め定められた時間が経過するときには、当該ユーザーの回答が終わっていると考えられ得るからである。上記において、予め定められた時間または数は、例えば対話支援システム150の販売業者またはユーザー100などにより予め定められていてもよい。
【0080】
このように、ユーザー100Aに対するユーザー100Bの回答は、上記(A)~(E)のいずれであってもよい。他の局面において、上述した回答の終了時として、(A)~(E)のうちの少なくとも2つ以上が、例えば対話支援システム150の販売者により予め定められた基準に基づいて、対話中に選択的に採用されてもよい。
【0081】
[定量的でない表現に起因する誤解を回避するためのより詳細な構成]
図5を参照して、定量的でない表現に起因する誤解を回避するための対話支援システム150のより詳細な構成について説明する。
図5は、ある実施の形態に従って、当該表現に起因する誤解を回避するためにサーバー130によって実現される構成を表わすブロック図である。なお、同一の構成には同一の符号を付してある。それらの作用も同じである。したがって、同一の構成の説明は繰り返さない。
【0082】
対話支援システム150は、処理部420と、制御部500と、通知部505とを備える。処理部420は、記憶部410と、分析部415とを含む。なお、対話支援システム150の他の構成要素である表示部400と、音声取得部405とは、サーバー130ではなく、クライアント端末110において実現される。
【0083】
図5に示されるように、記憶部410は、音声データ510と、音声認識後テキストデータ515と、自然言語処理用データベース520と、表現リスト525と、関連資料データベース530とを記憶している。
【0084】
音声データ510は、遠隔会議等における対話に参加する各ユーザー100の発話を、マイク225が変換することにより生成した音声データである。音声データ510は、対話中にリアルタイムで記憶部410に蓄積される。
【0085】
テキストデータ515は、分析部415によりリアルタイムで音声データ510がテキスト化されることにより生成されたデータである。分析部415は、音声データ510に対して、発話したユーザー100を特定した上で音声認識処理を実行することにより、テキストデータ515を生成する。発話したユーザー100を特定するための手法は特に限定されない。分析部415は、例えば、マイク225から取得された信号に基づいて、当該発話に対応する音声データの送信元であるクライアント端末110の識別子を特定することにより発話者を特定し得る。テキストデータ515は、制御部500により受信側のクライアント端末110に送信される。受信側のクライアント端末110のCPU200(
図2)は、音声認識処理がなされた後のテキストを受信側の表示部400に表示する。他の局面において、テキストデータ515は、ユーザー100により入力されたチャットの文であってもよい。このとき、分析部415は、上記の手法により、チャットの文を入力したユーザー100を特定することができる。
【0086】
データベース520は、分析部415が、テキストデータ515に対して公知の自然言語処理を行うためのデータベースである。データベース520は、一例として、形態素解析部、意味解析、係り受け解析、文脈解析等の自然言語処理を行うための、名詞、動詞、助動詞および格助詞等の辞書データ、並びに先述したQCD表現のデータを記憶している。分析部415は、ユーザー100による入力文が、品質、費用および日程に関係する予め登録されたQCD表現を含むか否かを、データベース520を参照することにより判断し得る。
【0087】
表現リスト525は、予め登録された定量的でない表現、例えば「少し」、「すぐ」、「ほぼ」等の表現のリストである。分析部415は、テキストデータ515が、表現リスト525に登録されている表現を含むか否かを判断することにより、当該表現に起因する、ユーザー100A,100B間の誤解を未然に回避できる。ある局面において、表現リスト525は、ユーザー100または対話支援システム150の販売業者により記憶部410に予め登録されている。他の局面において、表現リスト525は、データベース520の一部であってもよい。
【0088】
制御部500は、対話支援システム150を制御する。ある局面において、ユーザー100Aによる入力文が疑問文または依頼文を含むことに基づいて、制御部500は、ユーザー100Aによる当該疑問文若しくは当該依頼文、または当該疑問文若しくは当該依頼文に対する、ユーザー100Bによる入力文に含まれる回答が、分析部415により検出された定量的でない表現を含むか否かを判断する。当該回答が定量的でない表現を含むときに、制御部500は通知フラグを設定する。より具体的には、当該回答が当該表現を含むときに、制御部500は、通知フラグを、デフォルト値である第1の値(例えば「0」)から、第2の値(例えば「1」)に変更する。ある局面において、制御部500は、CPU300がROM310に格納されたプログラムに従って動作することにより実現される。
【0089】
通知フラグが第2の値であるとき、通知部505は、ユーザー100Aおよびユーザー100Bの少なくとも一方のクライアント端末110に信号を送信する。これにより、ユーザー100A,100Bのいずれかの入力文が、定量的でない表現を含むことが、当該少なくとも一方のユーザーに通知され得る。より具体的には、ユーザー100Aによる疑問文若しくは依頼文、またはユーザー100Bによる回答が定量的でない表現を含む場合に、通知部505は、当該疑問文若しくは依頼文または回答が定量的でない表現を含むことを、ユーザー100Aおよびユーザー100Bの少なくとも一方に通知する。ある局面において、通知部505は、CPU300がROM310に格納されたプログラムに従って動作することによって、モニター240、スピーカー235その他の通知装置を制御することにより実現される。以下、制御部500および通知部505のさらに他の詳細について説明する。
【0090】
[対話不成立への対処]
ユーザー100A,100B間の対話における質問に対して、適切な回答がなされず対話が成立していない場合がある。例えば、ユーザー100Aとユーザー100Bのうち少なくとも一方が母国語以外の言語で対話している場合等、対話が成立していないにもかかわらず、お互いがそのことに気付いていない場合があり得る。このような場合には、対話が成立していないことを当該少なくとも一方のユーザー100に通知した方が望ましいことがある。
【0091】
そこで、ある局面において、制御部500は、以下に説明する判断基準に基づいて、対話が成立していないと判断した場合に、対話不成立フラグを設定し得る。より具体的には、対話が成立していない場合には、制御部500は、通知フラグの値を、デフォルト値である第1の値(例えば「0」)から、第3の値(例えば「-1」)に変更する。
【0092】
次に、ユーザー100Aの入力文が、疑問詞疑問文、選択疑問文または諾否疑問文である場合における、対話が成立していないときの制御部500および通知部505の動作について説明する。
【0093】
[疑問詞疑問文に対する対話不成立の通知]
ある局面において、ユーザー100Aが「いつまでに納品できますか?」という「いつ」という疑問詞を含む文を入力した場合に、ユーザー100Bが「少しだけ空輸で納品できます」と回答するとする。このとき、上記の文が、「いつ」という時間に関する表現を含むのに対して、上記回答が時間に関する表現を含まない。したがって、正常な対話が成立していない。
【0094】
上記のような対話の不成立をユーザー100に通知するために、ユーザー100Aによる疑問文が疑問詞を含む場合に、制御部500は、対話文に含まれる定量的でない表現が係る語句が属するカテゴリーと疑問詞が属するカテゴリーとが同じであるか否かを判断し得る。制御部500は、対話文に対して自然言語処理を行い、上記表現が係る語句が属するカテゴリーを分類することより、上記判断を行う。
【0095】
上述した対話例において、分析部415による係り受け解析の結果、「少しだけ」が係る語句が「空輸で」であるとする。また、分析部415による意味解析の結果、「空輸で」が属するカテゴリーは輸送手段であるとする。また、上記の疑問詞「いつ」が属するカテゴリーが時間であるとする。このような場合、定量的でない表現が係る語句が属するカテゴリーである「輸送手段」と疑問詞が属するカテゴリーである「時間」とが異なるため、制御部500は、ユーザー100A,100B間の対話が成立していないと判断し得る。
【0096】
このように、回答に含まれる定量的でない表現が係る語句が属するカテゴリーと疑問詞が属するカテゴリーとが同じでない場合に、通知部505は、これらのカテゴリーが同じでないこと、すなわち対話が成立していないことを少なくとも一方のユーザーに通知し得る。
【0097】
一方、対話が成立している場合、すなわち、これらのカテゴリーが同じである場合には、通知部505は、ユーザー100Bによる回答が定量的でない表現を含むことを、少なくとも一方のユーザーに通知し得る。より具体的には、「いつ」に対して日程表現、「どこ」に対して場所の表現、「誰」に対して人物若しくは団体の表現、または選択疑問文における選択対象に対して、回答に含まれる当該表現が係り受けの関係にあるときに、通知部505は、ユーザー100に当該通知を行い得る。
【0098】
[選択疑問文に対する対話不成立の通知]
ある局面において、ユーザー100Aが「空輸と海輸のどちらで納品できますか?」(選択疑問文)というように「空輸」と「海輸」のいずれかを尋ねた場合に、ユーザー100Bが「だいたい1ヶ月後に納品できます」と回答したとする。このとき、ユーザー100Aの選択疑問文に含まれる選択対象である「空輸」または「海輸」に対応する回答が、ユーザー100Bの入力文に含まれておらず、対話が成立していないことになる。制御部500は、ユーザー100A,100B間の対話が成立していないと判断し得る。
【0099】
通知部505は、上記の判断結果に基づいて、回答に含まれる定量的でない表現が係る語句が属するカテゴリーと選択疑問文に含まれる選択対象が属するカテゴリーとが同じでないこと、すなわち対話が成立していないことを少なくとも一方のユーザーに通知する。例えば、CPU300は、通知部505として、「対話不成立」とモニター240に表示し得る。CPU300は、対話が成立していないことをユーザー100に通知するために、スピーカー235に警告音を出力させてもよい。
【0100】
一方、対話が成立している場合、すなわち、これらのカテゴリーが同じである場合には、対話が成立している。例えば、ユーザー100Aが「いつ納品できますか?」という疑問文を入力した場合、ユーザー100Bが「だいたい1ヶ月後に納品できます」と回答したとする。このとき、ユーザー100Bの入力文が、ユーザー100Aの選択疑問文に含まれる疑問詞「いつ」に対応する語句「1ヶ月後」を含むため、対話は成立していることになる。
【0101】
上述した例において、分析部415による係り受け解析の結果、「だいたい」が係る語句が「1ヶ月後」であるとする。また、分析部415による意味解析の結果、「1ヶ月後」が属するカテゴリーは、時間であるとする。このとき、定量的でない表現が係る語句が属するカテゴリーである「時間」と疑問詞「いつ」が属するカテゴリーである「時間」が同じである。その一方で、当該表現「だいたい」が「1ヶ月後」と係り受けの関係にあるため、当該表現によりユーザー100間で誤解が生じ得る。
【0102】
そこで、ユーザー100Aによる疑問文が疑問詞疑問文である場合に、制御部500は、定量的でない表現が係る語句が属するカテゴリーと、疑問詞疑問文に含まれる疑問詞が属するカテゴリーとが同じである否かを判断する。
【0103】
通知部505は、それらのカテゴリーが同じである場合に、ユーザー100Bによる回答が定量的でない表現を含むことを、少なくとも一方のユーザーに通知する。例えば、CPU300は、通知部505として、「定量的でない表現が対話に含まれています」とモニター240に表示し得る。CPU300は、定量的でない表現が対話に含まれることをユーザー100に通知するために、スピーカー235に警告音を出力させてもよい。
【0104】
ユーザー100Aによる疑問文が選択疑問文である場合において対話が成立しているときにも、通知部505は、疑問文と回答とにおいて上記表現が含まれることをユーザー100に通知し得る。より具体的には、ユーザー100Aによる疑問文が選択疑問文である場合に、制御部500は、定量的でない表現が係る語句が属するカテゴリーと、選択疑問文に含まれる選択対象が属するカテゴリーとが同じである否かを判断する。
【0105】
通知部505は、それらのカテゴリーが同じである場合に、ユーザー100Bによる回答が定量的でない表現を含むことを、少なくとも一方のユーザーに通知する。
【0106】
[諾否疑問文または依頼文に対する対話不成立の通知]
ある局面において、ユーザー100Aによる入力文が、「1ヶ月後に納品できますか?」という諾否疑問文、または「1ヶ月後の納品をお願いします」という依頼文であるとする。このような諾否疑問文または依頼文に対して、ユーザー100Bは、「はい」のような肯定表現、または「いいえ」のような否定表現のいずれかを含む文で回答することが想定される。なお、ユーザー100による入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文である場合に、分析部415は、当該入力文が諾否疑問文であると判断し得る。
【0107】
ユーザー100Bは、上記の諾否疑問文または依頼文に対して「空輸で納品できます」と回答するとする。この場合、上記の諾否疑問文または依頼文に対する回答として想定され得る「はい」のような肯定表現、または「いいえ」のような否定表現が、ユーザー100Bによる入力文に含まれていないので、制御部500は、対話が成立していないと、判断し得る。
【0108】
このように、入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合において、回答が、予め登録された「はい」等の肯定表現および「いいえ」等の否定表現のいずれも含まないときに、通知部505は、予め登録された肯定表現および否定表現のいずれも上記回答に含まれないことをユーザー100A,100Bの少なくとも一方に通知し得る。
【0109】
一方、例えば、ユーザー100Aが「1ヶ月後に納品できますか?」という疑問文を入力した場合、ユーザー100Bが「はい、だいたい1ヶ月後に納品できます」と回答したとする。このとき、ユーザー100Bの入力文が、上記疑問文が疑問詞疑問文以外の疑問文かつ選択疑問文以外の疑問文である。したがって、分析部415は、当該入力文が諾否疑問文であると判断し得る。また、ユーザー100Aの疑問文に対して、ユーザー100Bは、想定されるように肯定表現「はい」で回答している。よって、対話は成立していることになる。
【0110】
上述した例において、分析部415による係り受け解析の結果、肯定表現「はい」は、定量的でない表現「だいたい」と係り受けの関係にあるとする。上記表現「だいたい」は、「1ヶ月後」とも係り受けの関係にあるため、当該表現によりユーザー100間で誤解が生じ得る。
【0111】
また、ユーザー100Aによる入力文が依頼文であるときに対話が成立しており、ユーザー100Bの回答に含まれる定量的でない表現が、上記依頼文に対する肯定表現または否表現と係り受けの関係にある場合も、上記と同様に誤解が生じ得る。
【0112】
そこで、分析部415は、ユーザー100Aによる入力文が、疑問詞を含む疑問文以外の疑問文かつ選択疑問文以外の疑問文、または依頼文である場合に、その回答に含まれる定量的でない表現が、上記回答に含まれる肯定表現または否定表現に係るか否かを分析し得る。
【0113】
通知部505は、上記回答に含まれる当該定量的でない表現が、上記回答に含まれる肯定表現または否定表現に係るときに、上記回答が当該定量的でない表現を含むことを、少なくとも一方のユーザー100に通知し得る。
【0114】
[定量的でない表現が回答と無関係な場合における通知の低減]
ある局面において、ユーザー100Aによる入力文が、「1ヶ月後に納品できますか?」という諾否疑問文、または「1ヶ月後に納品することをお願いします」という依頼文であるとする。上記のような疑問文または依頼文に対して、ユーザー100Bは、「はい」等の肯定表現、または「いいえ」等の否定表現のいずれかで回答する可能性がある。
【0115】
上記のような諾否疑問文または依頼文に対して、ユーザー100Bが「はい、1ヶ月後に納品できますが、納品後には在庫が少なくなります。」と回答したとする。
【0116】
このとき、分析部415は、係り受け解析の結果、上記回答に含まれる定量的でない表現「少なく」と、上記回答に含まれる肯定表現「はい」とが、係り受けの関係にないと判断し得る。すなわち、当該表現「少なく」は、ユーザー100Aによる疑問文または依頼文と直接的には関係が無いと判断され得る。
【0117】
また、ユーザー100Aによる入力文が、「どのチームが担当していますか?」という選択疑問文であるとする。上記疑問文に対して、ユーザー100Bが「Kチームですぐに実施する予定です。」と回答するとする。
【0118】
分析部415は、係り受け解析の結果に基づき、「どの」が「チーム」に係っていることと、ユーザー100Bの回答に「Kチーム」という選択対象に対応する語句があるということとを判断し得る。ここで、当該選択対象に対応する語句「Kチーム」と、上記回答に含まれる定量的でない表現「すぐに」とは係り受けの関係にないと判断され得る。このときも、当該表現「すぐに」は、上記疑問文と直接的には関係が無いと判断され得る。
【0119】
上記の例では、ユーザー100A,100Bは、対話文に含まれる定量的でない表現が回答と無関係な場合にまで、通知がなされない方が望ましいと考えることがある。
【0120】
疑問詞疑問文に含まれる疑問詞に対応する語句と、回答に含まれる定量的でない表現とが係り受けの関係にないと制御部500が判断する場合についても、当該表現と当該疑問文とは直接的には関係が無い。
【0121】
そこで、回答に含まれる当該表現が、当該回答に含まれる、肯定表現、否定表現または疑問詞若しくは選択対象に対する語句に係る場合には、通知部505は、その回答が当該表現を含むことを、少なくとも一方のユーザーに通知し得る。これにより、当該表現が、回答として想定される肯定表現、否定表現または疑問詞若しくは選択対象に対する語句と係り受けの関係に無いときにまで、ユーザー100に通知がなされることを回避できる。
【0122】
[定量的でない表現がQCD表現に係るときのみの通知]
分析部415は、上述したようにデータベース520を参照することにより、対話文が、品質、費用および日程に関係する予め登録されたQCD表現を含むか否かを分析することができる。
【0123】
ここで、定量的でない表現が、一般的に仕事において重要であると考えられているQCDに関係する場合にのみ、ユーザー100は、対話文に当該表現が含まれることが通知されることが望ましいと考えることがある。
【0124】
そこで、ユーザー100による入力文が、上述したQCD表現を含む場合にのみ、通知部505は、ユーザー100Aによる疑問文若しくは依頼文、またはユーザー100Bによる回答が、当該表現を含むことをユーザー100A,100Bの少なくとも一方のユーザーに通知してもよい。
【0125】
[様々な通知方法]
他の局面において、通知部505は、定量的でない表現および定量的でない表現が係る語句を含む対話文の少なくとも一部を、視覚的に変化させて通知すること、音声により通知すること、および振動により通知することの少なくとも1つにより、ユーザー100A,Bの少なくとも一方に通知を行う。これにより、ユーザー100A,100Bによる疑問文若しくは依頼文、またはユーザー100Bによる回答が、定量的でない表現を含むことを、通知部505は、当該少なくとも一方のユーザーに通知できる。
【0126】
より具体的には、視覚的に変化させて通知することは、当該対話文の当該少なくとも一部に対して、色分けすること、太字にすること、文字のサイズを大きくすること、下線を付与すること、ポップアップを用いて警告すること、または、マークを付けて表示することにより通知することのいずれか、若しくはそれらの少なくとも1つを含む組み合わせであってもよい。
【0127】
また、音声により通知することは、警告音または警告音声により通知することであってもよい。また、例えばクライアント端末110がスマートフォンまたはタブレットコンピューターである場合、振動による通知は、当該スマートフォンまたはタブレットコンピューターが備える振動装置(図示しない)により実現されてもよい。
【0128】
遠隔会議等の対話を主催する側のユーザー100は、上記の通知方法のいずれかを選択し得る。あるいは、各ユーザー100は、クライアント端末110に応じた好みの通知方法を上記のいずれかから選択し得る。また、他の局面において、以下に説明する通知レベルに応じて表示態様を変えてもよい。
【0129】
[通知レベルに応じた通知]
制御部500は、通知レベルに応じて通知態様を変更してもよい。ここで、通知部505による通知が、視覚的な通知である場合には、通知レベルは、視覚的な変化量となる。当該通知が音声による通知である場合には、通知レベルは当該音声の音量となる。当該通知が振動による通知である場合には、当該通知レベルは、上述した振動装置における振動量を決定するための値である。
【0130】
例えば、ユーザー100Aによる疑問文または依頼文に対するユーザー100Bの音声による回答が定量的でない表現を含む場合、通知部505は、上記表現に対する通知レベルに応じて、上述した視覚的な変化量を大きくし得る。
【0131】
このように、視覚的に変化させて通知すること、音声により通知すること、および振動により通知することの少なくとも1つは、通知レベルに応じて強調した通知態様により通知することであり得る。
【0132】
通知レベルは、例えばユーザー100により予め定められ得る。あるいは、以下に説明するように、制御部500が重要度に基づいて決定し得る。
【0133】
[重要度に応じた通知レベル]
ユーザー100A,100B間の対話において、定量的でない表現および、当該表現が係る語句によっては、当該表現の重要度が異なることがある。そこで、制御部500は、当該表現に対する重要度を設定し、上記重要度に応じて通知レベルを決定してもよい。以下、重要度の設定基準について説明する。制御部500は、以下の少なくとも1つ以上を組み合わせることにより上記重要度を設定し得る。
【0134】
ある局面において、制御部500は、ユーザー100間の対話文に含まれる定量的でない表現に対する重要度を設定し、上記重要度に応じて通知レベルを決定し得る。
【0135】
まず、関連資料のテーマと上記重要度との関連性について説明する。制御部500は、一例として、公知のテキストマイニングの手法により予め解析された関連資料に基づいて上記重要度を設定し得る。より具体的には、当該関連資料に記載されているテーマと同じ話題の対話がユーザー100A,100B間で行なわれているときには、制御部500は、上記重要度を引き上げ、それに応じて通知レベルを引き上げ得る。
【0136】
ある局面において、上記関連資料は、記憶部410における関連資料データベース530に格納されている。また、対話の一例が会議である場合、上記関連資料は、会議のアジェンダ、会議の予定表、会議名称、会議案内等を含む。公知のテキストマイニングの手法は、KH Coder等の公知のテキストマイニングツールを用いる手法を含む。
【0137】
より具体的には、制御部500は、ユーザー100間の対話文が、公知のテキストマイニングの手法により予め抽出されたキーワードを含むか否かを判断する。当該対話文が当該キーワードを含む場合、制御部500は、例えばユーザー100等により予め定められたデフォルトの値から重要度を引き上げ、それに応じて通知レベルを引き上げる。公知のテキストマイニングの手法により抽出したキーワードは、上記関連資料と関連する表現である。当該キーワードの一例は、例えば関連資料に記載されている回数が多い用語、関連資料のタイトルまたは見出しとして用いられる用語等を含む。ある局面において、上記関連資料は、記憶部410における関連資料データベース530に記憶されている。
【0138】
次に、ユーザーが文を入力し始めてからの、文の数または経過時間と上記重要度との関連性について説明する。ある局面において、ユーザー100は、重要と考える文ほど先に入力することがある。そこで、ユーザー100Aに対するユーザー100Bの回答が複数の文を含む場合、当該回答が含む文の数が増えるにつれて、制御部500は、分析部415により検出された定量的でない表現、および当該表現が係る語句に対する重要度をより小さな値に設定する。
【0139】
また、ユーザー100Aによる疑問文または依頼文に対してユーザー100Bが入力文を入力し始めてからの経過時間が長くなるにつれて、制御部500は、上記重要度をより小さな値に設定する。
【0140】
[対話の開始時間または終了時間との関連性]
一般に、対話の開始直後においては、ユーザー100は、お互いに挨拶等をすることにより、議題に関する本質的な対話をしないことがある。一方、対話の一例が会議である場合、会議の終了直前においては、会議の残り時間が少ないため、ユーザー100は、ユーザー100自身が重要と考える議題に関して対話をすることがある。
【0141】
そこで、制御部500は、公知のテキストマイニングの手法により予め解析された会議資料に基づいて、会議の開始時刻および終了時刻の情報を取得し得る。さらに、会議の開始時刻から予め定められた第1の時間が経過する前においては、制御部500は、第1の時間が経過した後に比べて、重要度をより小さな値に設定し得る。また、会議の終了予定時刻よりも前の予め定められた第2の時間内においては、制御部500は、第2の時間内でないときに比べて、重要度をより大きな値に設定し得る。第1および第2の時間は、例えばユーザー100等により予め定められていてもよい。
【0142】
次に、定量的でない表現を入力したユーザーに対する、当該表現に関する通知の低減について説明する。ある局面において、当該表現を入力したユーザー100自身は、当該ユーザーが入力した当該表現について明確に理解していることが多い。例えば、ユーザー100は、「コストが少し高いです。」と発話した場合には、当該入力文が含む当該表現「少し高い」が意味する度合いを理解していることが多い。
【0143】
そこで、ユーザー100による発話が当該表現を含む場合であっても、当該発話をしたユーザー100自身に対して、通知部505は、当該発話が当該表現を含むことを通知しなくてもよい。
【0144】
より具体的には、ユーザー100Aによる疑問文または依頼文が定量的でない表現を含む場合、通知部505は、ユーザー100Aによる疑問文または依頼文が定量的でない表現を含むことをユーザー100Bのみに通知する。ユーザー100Bによる入力文に含まれる回答が定量的でない表現を含む場合、通知部505は、ユーザー100Bによる入力文に含まれる回答が定量的でない表現を含むことをユーザー100Aにのみ通知し得る。
【0145】
[定量的でない表現に起因する誤解を回避するための制御構造]
次に、
図6~
図9を参照して、ある実施の形態に従う対話支援システム150の制御構造について説明する。
図6Aおよび
図6Bは、ある実施の形態に従う、疑問文または依頼文、またはその回答が含む定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。
【0146】
なお、以下に示される対話支援システム150の動作は、ある局面において、CPU300がROM310に格納された制御プログラムを実行することにより実現される。他の局面において、各処理の一部または全部は、各ステップを実行するように構成された回路素子の組み合わせとしても実現される。
【0147】
図6Aに示されるように、ステップS605において、マイク225は、ユーザー100による発話すなわち音声入力を受信し、当該音声入力を音声データに変換する。CPU300は、当該音声データを記憶部410に保存する。
【0148】
ステップS610において、CPU300は、分析部415として、当該音声データを音声認識処理によりテキストデータに変換し、変換後のテキストデータを記憶部410に保存する。
【0149】
ステップS615において、CPU300は、分析部415として、変換されたテキストデータとしての、ユーザー100による入力文を分析する。以下、その具体的な処理について説明する。
【0150】
まず、分析部415は、変換されたテキストデータを公知の自然言語処理により分析することにより、当該入力文が疑問文または依頼文を含むか否かを判断する。上記入力文が予め登録された定量的でない表現を含む場合、分析部415は、当該表現を検出する。当該入力文が疑問文を含む場合、さらに、分析部415は、当該疑問文が、肯定または否定表現で回答する疑問文、疑問詞疑問文または選択疑問文のいずれであるかを判断する。
【0151】
上記疑問文が肯定または否定表現で回答する疑問文である場合、分析部415は、当該回答が上記疑問文に対応する予め登録された肯定または否定表現を含むか否かを判断する。さらに、分析部415は、当該表現が上記肯定または否定表現に対して係っているか否かを判断する。
【0152】
上記疑問文が疑問詞疑問文である場合、分析部415は、当該疑問文が含む疑問詞の種類に対応する回答があるか否かを判断する。さらに、分析部415は、上記回答が当該表現を含むか否かを判断する。
【0153】
上記疑問文が選択疑問文である場合、分析部415は、当該疑問文が含む選択対象に対応する回答があるか否かを判断する。さらに、分析部415は、上記回答が当該表現を含むか否かを判断する。
【0154】
上記入力文が依頼文である場合、分析部415は、当該依頼文に対する回答が上記依頼文に対する、予め登録された肯定または否定表現を含むか否かを判断する。さらに、分析部415は、上記当該表現が上記肯定または否定表現に係っているか否かを判断する。
【0155】
図6Aを再び参照して、ステップS620において、CPU300は、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、CPU300は、上記入力文が疑問文または依頼文を含むか否かの結果に応じて制御を切り替える。上記入力文が疑問文または依頼文を含む場合(ステップS620においてYES)、CPU300は、制御をステップS630に進める。そうでない場合(ステップS620においてNO)、CPU300は、制御をステップS605に戻す。
【0156】
ステップS630において、CPU300は、ステップS615における分析結果に基づいて制御を切り替える。より具体的には、ユーザー100による入力文に含まれる当該表現が検出されたか否かの結果に応じて、CPU300は制御を切り替える。上記入力文が当該表現を含む場合(ステップS630においてYES)、CPU300は、制御をステップS635に進める。そうでない場合(ステップS630においてNO)、CPU300は、制御をステップS605に戻す。
【0157】
ステップS635において、CPU300は、制御部500として、ステップS615における分析結果に基づいて制御を切り替える。より具体的には、上記入力文が、肯定または否定表現で回答する疑問文、疑問詞疑問文若しくは選択疑問文または依頼文のいずれであるかに応じて、CPU300は制御を切り替える。
【0158】
上記疑問文が肯定または否定表現で回答する疑問文である場合、CPU300は、制御をステップS640に進める。
【0159】
上記入力文が疑問詞疑問文または選択疑問文である場合、CPU300は、制御をステップS645に進める。
【0160】
上記入力文が依頼文である場合、CPU300は、制御をステップS650に進める。
【0161】
ステップS640において、CPU300は、第1のパターンの受け答えに対する処理を実行する。当該処理の詳細は、後述する。その後、CPU300は、制御をステップS55(
図6B)に進める。
【0162】
ステップS645において、CPU300は、第2のパターンの受け答えに対する処理を実行する。当該処理の詳細は、後述する。その後、CPU300は、制御をステップS55(
図6B)に進める。
【0163】
ステップS650において、CPU300は、第3のパターンの受け答えに対する処理を実行する。当該処理の詳細は、後述する。その後、CPU300は、制御をステップS655(
図6B)に進める。
【0164】
図6Bを参照して、ステップS655において、CPU300は、通知フラグが立っているか否かを判断する。より具体的には、CPU300は、ステップS640、ステップS645またはステップS650のいずれかにおいて通知フラグが立てられたか否かを確認する。通知フラグが立っている場合(ステップS655においてYES)、CPU300は、制御をステップS660に進める。そうでない場合(ステップS655においてNO)、CPU300は、制御をステップS605に戻す。
【0165】
ステップS660において、CPU300は、制御部500として、分析部415により検出された定量的でない表現に対して重要度を設定する。
【0166】
ステップS665において、CPU300は、制御部500として、ステップS660において設定した重要度に基づいて、通知レベルを決定する。
【0167】
ステップS670において、CPU300は、通知部505として、ステップS665において決定された重要度に応じて、ユーザー100に通知を行う。より具体的には、疑問文若しくは依頼文、またはそれに対応する回答が定量的でない表現を含むことを、CPU300は、ユーザー100に通知する。例えば、CPU300は、文字情報または音声信号を、ユーザー100が使用するクライアント端末110に送信する。
【0168】
なお、CPU300が各ステップを行なう順序は、
図6Aに例示される順序に限られない。他の局面において、CPU300は、ステップS620の処理に代えてステップS630の処理を行い、その後、ステップS620の処理を行ってもよい。さらに他の局面において、例えばCPU300がマルチコアプロセッサである場合、CPU300は、ステップS620の処理とステップS630の処理とを並列に処理してもよい。
【0169】
図7は、ある実施の形態に従う、第1のパターンの受け答えに対する処理(
図6のステップS640)を示すフローチャートである。
【0170】
図7に示されるように、ステップS705において、CPU300は、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、CPU300は、制御部500として、肯定または否定表現で回答する疑問文を入力した一方のユーザー100に対する、他方のユーザー100による回答が、予め登録された肯定または否定表現を含むか否かの結果を判断する。上記回答が、予め登録された肯定または否定表現を含む場合(ステップS705においてYES)、CPU300は、制御をステップS715に進める。そうでない場合(ステップS705においてNO)、CPU300は、制御をステップS710に進める。
【0171】
ステップS710において、CPU300は、制御部500として、対話不成立フラグを立てる。その後、CPU300は、制御をステップS655に戻す。
【0172】
ステップS715において、CPU300は、制御部500として、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、CPU300は、定量的でない表現が上記肯定または否定表現に係っているか否かの結果に応じて、制御を切り替える。当該表現が上記肯定または否定表現に係っている場合(ステップS715においてYES)、CPU300は、制御をステップS720に進める。そうでない場合(ステップS715においてNO)、CPU300は、制御をステップS655に戻す。
【0173】
ステップS720において、CPU300は、制御部500として、通知フラグを立てる。その後、CPU300は、制御をステップS655に戻す。
【0174】
図8は、ある実施の形態に従う、第2のパターンの受け答えに対する処理(
図6のステップS645)を示すフローチャートである。
【0175】
図8に示されるように、ステップS805において、CPU300は、制御部500として、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、CPU300は、ユーザー100の一方が入力した疑問文が疑問詞疑問文または選択疑問文のいずれであるかを判断する。当該疑問文が疑問詞疑問文である場合、CPU300は、制御をステップS810に進める。他方、当該疑問文が選択疑問文である場合、CPU300は、制御をステップS830に進める。
【0176】
ステップS810において、CPU300は、制御部500として、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、上記疑問文に含まれる疑問詞の種類に対応する回答があるか否かを判断する。当該回答がある場合(ステップS810においてYES)、CPU300は、制御をステップS820に進める。当該回答がない場合(ステップS810においてNO)、CPU300は、制御をステップS815に進める。
【0177】
ステップS815において、CPU300は、制御部500として、対話不成立フラグを立てる。その後、CPU300は、制御をステップS655に戻す。
【0178】
ステップS820において、CPU300は、制御部500として、ステップS615における分析結果に基づいて、上記回答が定量的でない表現を含むか否かを判断する。上記回答が当該表現を含む場合(ステップS820においてYES)、CPU300は、制御をステップS825に進める。そうでない場合(ステップS820においてNO)、CPU300は、制御をステップS655に戻す。
【0179】
ステップS825において、CPU300は、制御部500として通知フラグを立てる。その後、ステップS825は、制御をステップS655に戻す。
【0180】
ステップS830において、CPU300は、制御部500として、当該選択疑問文に含まれる選択の対象に対応する回答が、他方のユーザー100による入力文にあるか否かを判断する。上記選択の対象に対応する回答がある場合(ステップS830においてYES)、CPU300は、制御をステップS820に切り替える。そうでない場合(ステップS830においてNO)、CPU300は、制御をステップS655に戻す。
【0181】
ステップS815およびステップS820以降の処理は、上述したように、ユーザーが入力した疑問文が選択疑問文である場合とそれぞれ同様である。したがって、それらの処理の説明を繰り返さない。
【0182】
他の局面において、ステップS820とステップS825との間に、選択対象または疑問詞に対応する語句が、定量的でない表現と係り受けの関係にあるか否かをCPU300が判断するステップを設けてもよい。選択対象または疑問詞に対応する語句が、当該表現と係り受けの関係にある場合に、CPU300は、制御をステップS825に進める。そうでない場合、当該表現は、当該疑問文と直接的には関係がない。この場合、CPU300は、制御を
図6BのステップS655に戻す。
【0183】
図9は、ある実施の形態に従う、第3のパターンの受け答えに対する処理(
図6のステップS650)を示すフローチャートである。
【0184】
図9に示されるように、ステップS905において、CPU300は、制御部500として、ステップS615における分析結果に基づいて、制御を切り替える。より具体的には、CPU300は、肯定または否定表現で回答する疑問文を入力した一方のユーザー100に対する、他方のユーザー100による回答が予め登録された肯定または否定表現を含むか否かを判断する。上記回答が予め登録された肯定または否定表現を含む場合(ステップS905においてYES)、CPU300は、制御をステップS915に進める。そうでない場合(ステップS905においてNO)、CPU300は、制御をステップS910に進める。
【0185】
ステップS910において、CPU300は、制御部500として、対話不成立フラグを立てる。その後、CPU300は、制御をステップS655に戻す。
【0186】
ステップS915において、CPU300は、ステップS615における分析結果に基づいて制御を切り替える。より具体的には、CPU300は、定量的でない表現が上記肯定または否定表現に対して係っているか否かを判断する。当該表現が上記肯定または否定表現に対して係っていない場合(ステップS915においてYES)、CPU300は、制御をステップS920に進める。そうでない場合(ステップS915においてNO)、CPU300は、制御をステップS655に戻す。
【0187】
ステップS920において、CPU300は、制御部500として、通知フラグを立てる。その後、CPU300は、制御をステップS655に戻す。
【0188】
図10を参照して、ユーザーへの通知の態様の変更について説明する。
図10は、ユーザーへの通知の態様を通知レベルに応じて変更するための設定情報の一例を示す図である。
【0189】
記憶部410は、設定情報テーブル1000を格納している。設定情報テーブル1000は、通知手段と通知レベルとの組み合わせに応じた通知態様を示すテーブルである。より具体的には、設定情報テーブル1000は、列1010~1040を含む。
【0190】
列1010は、通知手段を規定する情報を保持している。列1020は、通知レベルが「低い」場合における当該通知手段による通知の態様を規定する。列1025は、通知レベルが「やや低い」場合における当該通知手段による通知の態様を規定する。列1030は、通知レベルが「普通」である場合における当該通知手段による通知の態様を規定する。列1035は、通知レベルが「やや高い」場合における当該通知手段による通知の態様を規定する。列1040は、通知レベルが「高い」場合における当該通知手段による通知の態様を規定する。
【0191】
図10の例において、表示部400は、定量的でない表現の関連箇所、例えば当該表現、および当該表現が係る語句の少なくとも1つを含む箇所に対する強調表示方法として、通知レベルが「低い」場合に、当該箇所における文字の色を地味に、例えば薄いピンクにし得る。通知レベルが「普通」である場合には、当該箇所における文字の色を普通に、例えばピンクにし得る。通知レベルが「高い」場合に、当該箇所における文字の色を派手に、例えば赤にし得る。
【0192】
通知レベルが「やや低い」場合における当該箇所に対する強調表示態様は、通知レベルが「低い」場合と、通知レベルが「普通」である場合との中間的な表示態様である。通知レベルが「やや高い」場合における当該箇所に対する強調表示態様は、通知レベルが「普通」である場合と、通知レベルが「高い」場合との中間的な表示態様である。他の通知手段についても同様である。
【0193】
文字の大きさについては、通知レベルが「低い」、「普通」または「高い」場合に、表示部400は、それぞれ、当該箇所における文字の大きさを、デフォルト値よりも小さく、デフォルト値に、またはデフォルト値よりも大きく表示する。このように、設定情報テーブル1000は、文字の大きさが「小さい」、「普通」または「大きい」と記載されているセルにおいて、フォントの大きさを表す値を格納する。
【0194】
以下に説明する、その他の通知手段における表現、「細い」、「太い」、「短い」、「長い」、「小さい」、「大きい」、「少ない」、「多い」、「普通」等と記載されているセルも同様に、それぞれ、デフォルト値と比較したときの対応する数値を格納する。
【0195】
文字の太さについては、通知レベルが「低い」、「普通」または「高い」場合に、表示部400は、それぞれ、当該箇所において文字の大きさを細く、普通にまたは太く表示する。
【0196】
付与する下線については、通知レベルが「低い」、「普通」または「高い」場合に、表示部400は、それぞれ、当該箇所において一重線、二重線または波線を付与して表示する。
【0197】
付与するマーカーの色の濃さについては、通知レベルが「低い」、「普通」または「高い」場合に、表示部400は、それぞれ、当該箇所において付与するマーカーの色を薄く(例えば薄い黄色)、普通に(例えばやや薄い黄色)または濃く(例えば黄色)して表示する。
【0198】
ポップアップの表示時間については、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、表示部400は、当該箇所におけるポップアップの表示時間を短く、普通にまたは長くして表示する。ポップアップは、別ウィンドウに表示されてもよい。
【0199】
ポップアップの表示色については、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、表示部400は、当該箇所におけるポップアップの表示色を地味に、普通にまたは派手にして表示する。
【0200】
警告音の大きさについては、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、
図2のスピーカー235は、分析部415が定量的でない表現を検出したときに出力する音量を小さく、普通にまたは大きくする。
【0201】
警告音の長さについては、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、スピーカー235は、分析部415が当該表現を検出したときに音を出力する時間を短く、普通にまたは長くする。
【0202】
警告音声の音の大きさについては、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、スピーカー235は、分析部415が当該表現を検出したときに出力する音量を小さく、普通にまたは大きくする。
【0203】
警告音声の繰り返し回数については、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、スピーカー235は、分析部415が当該表現を検出したときに、警告音声を繰り返して出力する回数を少なく、普通にまたは多くする。
【0204】
また、先述したように、分析部415が当該表現を検出した場合に、振動装置(図示しない)は、ユーザー100にその旨を振動により通知してもよい。このとき、通知レベルが「低い」、「普通」または「高い」場合に、それぞれ、当該振動装置は、振動の度合いを弱く、普通にまたは強くしてもよい。
【0205】
[対話支援システム150における表示画面]
図11を参照して、対話支援システム150を構成するクライアント端末110に表示される画面の一態様について説明する。
図11は、ユーザー100Aが利用するクライアント端末110Aの表示部400Aが表示する画面の一例を表わす図である。
【0206】
表示部400Aは、ユーザー100による入力文、すなわち音声認識処理後の発話、およびチャットの文のログを表示する画面1100と、相手のユーザー100Bを表示する画面1105とを表示している。他の局面において、表示部400Aは、会議資料を画面1105に表示してもよい。
【0207】
ユーザー100Bに対する疑問文若しくは依頼文、またはそれに対するユーザー100Bの回答が定量的でない表現を含む場合に、表示部400は、画面1100にその旨を表示する。例えば、上記回答が定量的でない表現を含む場合、通知部505は、当該表現に関連する箇所を太字にして表示部400に表示させることにより、ユーザー100に上記回答が当該表現を含むことを通知する。ユーザー100Aは、当該表示を視認すると、当該表現の具体的な範囲について、ユーザー100Bに聞き返すことにより確認し得る。ユーザー100Bは、当該表現が指し示す具体的な範囲について、ユーザー100Aに回答し得る。これにより、ユーザー100A,100Bは、両者の対話において生じ得る誤解を回避できる。
【0208】
[具体的な対話における通知態様]
以下、
図12~14を参照して、定量的でない表現に対するユーザー100への通知態様の一例について説明する。
図12~
図14は、それぞれ、ユーザー100間でなされる対話例における、対話文のログと、ユーザー100への通知態様を決定するための情報とを保持するテーブルを示す図である。
【0209】
ある局面において、テーブルを構成するデータは、記憶部410に格納されている。当該テーブルは、CPU300によって書き換え可能である。また、当該テーブルの各データ項目は、対話としての会議が開始する前においては、全て空欄であるとする。ユーザー100が文を入力文したときに、各項目は、CPU300によって書き込まれる。
【0210】
図12において、列1200は、対話としての会議において入力された文を特定する番号を表す。列1205は、会議が開始してからの経過時間を表す。例えば、「2:45」は、会議が開始してから2分45秒が経過していることを示す。
【0211】
列1210は、入力文を入力したユーザーを表す。例えばユーザーが発話をした場合には、列1210は、当該発話者を表す。列1210において、話者が「A」であるとき、ユーザー100Aは、同じ行の文を入力している。
【0212】
列1215は、会議における入力文を表す。説明の便宜上、列1215における定量的でない表現に対しては、下線を付与している。ある局面において表示部400は、列1205~列1215,1235を画面1100に表示する。
【0213】
列1220は、ユーザー100Aまたは100Bが入力した文が疑問または依頼文を含むか否かを表す。すなわち、列1220における記号○は、同じ行の文が、疑問または依頼表現を含むことを表す。記号○が記載されていない行は、疑問または依頼文を含まない。CPU300は、ユーザー100によって入力された文が疑問または依頼文を含むとの判断に基づいて、当該入力文に対応する行と列1220とにおいて特定されるセルを空欄から記号○に書き換える。
【0214】
列1225は、ユーザー100Aまたは100Bが入力した文が、定量的でない表現を含むか否かを表す。例えば、列1220における記号○は、同じ行の入力文が当該表現を含むことを表す。記号○が記載されていない行は、当該表現を含まない。CPU300は、ユーザー100によって入力された文が当該表現を含むとの判断に基づいて、当該入力文に対応する行と列1225とにおいて特定されるセルを、空欄から記号○に書き換える。
【0215】
列1230は、通知レベルを表す。
図12の例においては、通知レベルは、「1」、「2」および「3」の3段階の値を取り得る。ある局面において、通知レベルの値「1」、「2」および「3」は、それぞれ、
図10の「低い」、「普通」および「高い」に対応する。他の局面において、通知レベルは、3段階より多くても少なくても良い。通知レベルの段階数は、特に限定されない。
図12の例において、通知レベルのデフォルト値は「2」とする。CPU300は、定量的でない表現に対する重要度を決定し、当該表現を含む入力文に対応する行と列1230とにおいて特定されるセルを、空欄から上記重要度を表す値に変更する。
【0216】
列1235は、CPU300による通知に関する判断基準を表す。CPU300は、列1230におけるセルの値を空欄から「1」、「2」または「3」のいずれかに書き換える変更を受け付けると、当該セルの右側のセルに、すなわち列1235により特定されるセルに、通知に関する判断基準を示すテキストを書き込む。
【0217】
図12に例示される対話文では、ユーザー100A,100Bは、いずれも発話により文を入力する。対話の内容は、試作品「XYZ」をテーマとしている。「XYZ」は、公知のテキストマイニングツールが本対話例の関連資料を予め解析することにより抽出したキーワードであるとする。また、CPU300は、
図6のステップS620とステップS630とを並列に処理可能であるとする。まず、番号1~3の入力文について説明する。
【0218】
会議が開始してからの経過時間が「0:03」である時に、ユーザー100Aは、番号1の入力文のように、「こんにちは」と発話する。これに応答して、番号2の入力文のように、ユーザー100Bが、「こんにちは。調子はどうですか?」と発話する。さらに、番号3の入力文のように、ユーザー100Aは、「まあまあです。それでは会議を始めましょう」と発話する。
【0219】
このような対話において、マイク225は、上記発話を音声信号に変換する。CPU300は、当該音声信号に基づくデジタルデータを記憶部410に保存する(ステップS605)。CPU300は、当該音声データを音声認識処理によりテキストデータに変換し、変換後のテキストデータを記憶部410に保存する(ステップS610)。CPU300は、変換されたテキストデータを用いて、番号1~3の入力文を分析する(ステップS615)。
【0220】
番号2の入力文が疑問表現「どう」(程度に関する疑問詞)および「ですか?」を含むので、CPU300は、当該入力文が疑問文を含むと判断する(ステップS620においてYES)。CPU300は、番号2の入力文が疑問文を含むとの判断に基づいて、当該入力文に対応する行と列1220とによって特定されるセルを空欄から記号○に書き換える。
【0221】
CPU300は、「まあまあです。それでは会議を始めましょう」が定量的でない表現「まあまあ」を含むと判断する(ステップS630においてYES)。CPU300は、ユーザー100Bの入力文が当該表現「まあまあ」を含むとの判断に基づいて、当該入力文に対応する行と列1225とによって特定されるセルを空欄から記号○に書き換える。
【0222】
CPU300は、番号2の入力文が疑問詞「どう」を含むので、当該入力文が疑問詞疑問文であると判断する(ステップS635,S645,S805)。CPU300は、番号3の入力文において、上記疑問詞疑問文が含む疑問詞「どう」の種類に対応する、程度を表す回答「まあまあです。それでは会議を始めましょう」があると判断する(ステップS810)。
【0223】
CPU300は、上記回答が定量的でない表現「まあまあ」を含むと判断し(ステップS820においてYES)、通知フラグを立てる(ステップS825)。ユーザー100Aが番号3の入力文を入力した時刻が会議開始から予め定められた一定時間内であるという判断基準に従って、CPU300は、当該表現「まあまあ」に対して重要度をデフォルト値「2」よりも小さい値「1」に設定する(ステップS660)。CPU300は、当該表現「まあまあ」に対する重要度を決定「1」に決定する。また、CPU300は、当該入力文に対応する行と列1230とによって特定されるセルに、通知に関する判断基準を示すテキスト「開始から一定時間内」と書き込む。
【0224】
CPU300は、上記重要度「1」に基づいて、通知レベルを「1」に決定する(ステップS665)。CPU300は、上記入力文に対応する行と列1230とによって特定されるセルを空欄から記号○に書き換える。CPU300は、上記通知レベル「1」に応じて、対話文が定量的でない表現「まあまあ」を含むことをユーザー100に通知する。例えば、
図12に示されるように、表示部400は、CPU300からの指令に基づいて、当該「まあまあ」を薄いピンク色にして表示する。あるいは、表示部400は、マーカー等により当該下線部を強調表示してもよい(ステップS670)。
【0225】
番号4以降の入力文においても、CPU300は、
図6~
図9に示される制御手順に従い、上記のような制御を行う。
【0226】
番号4の入力文が疑問表現「いつ」(時間に関する疑問詞)および「しますか?」を含むので、CPU300は、上記入力文が疑問文を含むと判断する(ステップS620においてYES)。CPU300は、番号5の入力文「そろそろできます」が定量的でない表現「そろそろ」を含むと判断する(ステップS630においてYES)。番号4,5の入力文からなる対話文は、公知のテキストマイニングツールにより抽出された、対話のテーマに関するキーワード「XYZ」を含む。そのため、CPU300は、「そろそろ」に対して重要度をデフォルト値「2」よりも大きい値「3」に設定する(ステップS660)。
【0227】
番号10の入力文は、定量的でない表現「けっこう」および「多かった」を含むので、CPU300は、上記入力文が当該表現を含むと判断する(ステップS630においてYES)。さらに、CPU300は、番号10の入力文が疑問文を含まないと判断する(ステップS620においてYES)。
【0228】
このように、対話文が当該表現を含むが疑問文または依頼文を含まない場合に、CPU300は、当該表現を含む入力文に対応する行と列1220とによって特定されるセルを空欄から記号×に変更する。また、CPU300は、当該入力文に対応する行と列1235とによって特定されるセルに、通知に関する判断基準を示すテキスト「疑問/依頼文ではない」を書き込む。このとき、当該表現が、疑問文または依頼文に対する回答に含まれていないので、番号10および11における各入力文に関して、CPU300は、ユーザー100への通知を行わない。
【0229】
番号13の入力文は、番号12の疑問文に対する回答である一方で、当該表現を含まない。したがって、CPU300は、上記入力文に対応する行と列1220とによって特定されるセルを空欄から記号×に変更する。このとき、番号12および13の各入力文に関して、CPU300は、ユーザー100への通知を行わない。
【0230】
番号14の入力文が疑問表現「どの」(選択に関する疑問詞)および「いますか?」を含むので、CPU300は、当該入力文が疑問文を含むと判断する(ステップS620においてYES)。CPU300は、係り受け解析に基づき「どの」が「チーム」に係っていることと、番号15の入力文が、選択対象に関係する語句「Kチーム」を含むということとを判断する。そこで、CPU300は、上記選択疑問文における選択対象である「チーム」に対応する回答が番号15の入力文にあることを判断する(ステップS830)。CPU300は、上記疑問文に対する回答「Kチームですぐに実施する予定です」が定量的でない表現「すぐに」を含むと判断する(ステップS820においてYES)。CPU300は、「Kチーム」が「すぐに」と係り受けの関係にないと判断する。この場合、当該表現「すぐに」は、上記疑問文とは無関係なので、CPU300は、ユーザー100への通知を行わない。
【0231】
図13を参照して、番号20の入力文の直前の、ユーザー100Bの入力文は、疑問文および依頼文以外の文であるとする。ユーザー100Aによる番号20の入力文は、定量的でない表現「概ね」を含むので、CPU300は、当該入力文が当該表現を含むと判断する(ステップS630においてYES)。しかし、番号20の入力文の直前の、ユーザー100Bの入力文は疑問文および依頼文以外の文であるので(ステップS620においてNO)、CPU300は、このときユーザー100への通知を行わない。
【0232】
番号22,23の入力文に示されるように、ユーザー100Aに対するユーザー100Bの回答は、複数の文を含む。この場合、CPU300は、制御部500として、当該回答が含む文の数が増えるにつれて、分析部415により検出された定量的でない表現に対する重要度をより小さな値に設定する。より具体的には、CPU300は、番号22の入力文に含まれる当該表現「恐らく」に対して重要度をデフォルト値「2」に設定する(ステップS660)。一方、CPU300は、番号23の入力文に含まれる当該表現「少し」に対しては重要度を「2」よりも小さい「1」に設定する(ステップS660)。
【0233】
図14を参照して、CPU300は、番号33の文をユーザー100Bが入力した時刻が会議終了から予め定められた一定時間内であるという判断基準に従って、当該表現「ほぼ」に対して重要度をデフォルト値「2」よりも大きい値「3」に設定する(ステップS660)。
【0234】
上記の対話例において、疑問文または依頼文に対する回答に含まれる当該表現がQCD表現と関係している場合にのみ、CPU300は、通知部505として、ユーザー100への通知を行ってもよい。例えば、上記対話例における試作品の価格および納期に関するキーワードが「コスト」、「日程」であるとする。ある局面において、記憶部410は、
図5のデータベース520にQCD表現を記憶している。
【0235】
CPU300は、制御部500として通知フラグを立てたとき、QCD表現とテーマである試作品名「XYZ」との両方が対話文に含まれるか否かを判断し得る。CPU300は、対話文が上記QCD表現と「XYZ」との両方を含むときのみ、ユーザー100に通知を行なう。より具体的には、対話のテーマに関するキーワード「XYZ」と、「日程」というQCD表現とが含まれる疑問文である
図13の番号25の入力文に対する回答として、番号26の入力文は、定量的でない表現「少し厳しい」を含む。一方、番号25以外の入力文は、上述した条件を満たさない。そこで、本対話例において、CPU300は、番号26の入力文に対してのみ、疑問文に対する回答に当該表現が含まれることをユーザー100に通知し得る。
【0236】
[対話支援システム150の制御構造における他の局面]
次に、
図6~
図9,
図15A,
図15Bを参照して、対話支援システム150の制御構造における他の局面について説明する。
【0237】
図15Aおよび
図15Bは、ある実施の形態に従う、定量的でない表現に起因する誤解を回避するためにCPU300が実行する処理の一例を示すフローチャートである。当該疑問文若しくは依頼文またはそれらへの回答は、当該表現を含む。以下に示される対話支援システム150の動作は、ある局面において、CPU300がROM310に格納された制御プログラムを実行することにより実現される。他の局面において、各処理の一部または全部は、各ステップを実行するように構成された回路素子の組み合わせとしても実現される。なお、前述の処理と同じ処理には同じステップ番号を付してある。したがて、同じ処理の説明は繰返さない。
【0238】
ステップS1565において、CPU300は、通知フラグまたは対話不成立フラグのいずれか1つが立っているか否かに応じて制御を切り替える。通知フラグまたは対話不成立フラグのいずれか1つが立っている場合(ステップS1565においてYES)、CPU300は、制御をステップS1567に進める。そうでない場合(ステップS1565においてNO)、CPU300は、制御をステップS605に戻す。
【0239】
ステップS1567において、CPU300は、立っているフラグの種類に応じて制御を切り替える。より具体的には、CPU300は、立っているフラグが通知フラグまたは対話不成立フラグのいずれであるかを確認する。通知フラグが立っている場合、CPU300は、制御をステップS660に進める。
【0240】
一方、対話不成立フラグが立っている場合、すなわち、ステップS710、ステップS810またはステップS910のいずれかにおいて、CPU300が対話不成立フラグを立てたときには、CPU300は、制御をステップS1575に進める。
【0241】
ステップS1575において、CPU300は、対話が成立していないことをユーザー100に通知する。
【0242】
ステップS1580において、CPU300は、対話が続くか否かを判断する。より具体的には、ユーザー100A,100Bのうち一方が入力文を入力し終わってから、予め定められた時間が経過するまでに当該ユーザーまたは他方のユーザーが入力文を入力する場合、CPU300は、対話が続くと判断する。対話が続く場合(ステップS1580においてYES)、CPU300は、制御をステップS1585に進める。そうでない場合(ステップS1580においてNO)、CPU300は、一連の処理を終了する。
【0243】
ステップS1585において、CPU300は、フラグをリセットする。より具体的には、CPU300は、通知フラグが立っているときには通知フラグを、対話不成立フラグが立っているときには対話不成立フラグをリセットする。その後、CPU300は、処理をステップS605に戻す。
【0244】
上記のフローチャートによれば、ユーザー間の対話が成立していないときであっても、通知部505は、対話が成立していないことをユーザー100に通知できる。その上で、通知部505は、疑問文若しくは依頼文、またはそれに対応する回答が定量的でない表現を含む場合に、当該表現に起因してユーザー100間で誤解が生じ得ることをユーザー100に通知できる。
【0245】
[実施形態の効果]
以上のようにして、ある実施の形態に従う対話支援システム150は、従来提案されていた技術のように曖昧な表現全般に対しての通知をユーザーに行わない。むしろ、対話支援システム150は、曖昧な表現の中でも、定量的でない表現に対して、ユーザー100に通知を行う。定量的でない表現は、各ユーザーが実際に想定している具体的な数値が異なり得る表現であり、文化等の違いを問わずユーザー間において認識のズレが生じるリスクが特に高い表現である。したがって、対話支援システム150によれば、そのような認識のズレが生じるリスクを低減できる。
【0246】
さらに、対話支援システム150がユーザー100に行う通知は、従来のように対話中の全部分に対して一律にユーザーになされる通知ではない。対話文における疑問文、依頼文、およびそれらに対する回答が定量的でない表現を含む場合に、対話支援システム150は、ユーザー100に通知を行う。対話文における疑問文、依頼文、およびそれらに対する回答は、多くのユーザーにとって重要であると考えられる。したがって、対話支援システム150がユーザー100に行う通知は、当該ユーザーにとって重要である可能性が高い通知である。その結果、ユーザーが、当該通知が重要であるか否かを判別する手間を低減でき、従来提案されていた技術において存在し得た、通知に対する煩わしさを低減できる。
【0247】
今回開示された実施の形態は全ての点で例示であって制限的なものではないと考えられるべきである。本発明の範囲は上記した説明ではなくて特許請求の範囲によって示され、特許請求の範囲と均等の意味及び範囲内で全ての変更が含まれることが意図される。
【符号の説明】
【0248】
150 対話支援システム、200,300 CPU、205,305 RAM、210,310,HDD215,HDD315 ROM、222 キーボード、225 マイク、230 カメラ、235 スピーカー、240 モニター、400 表示部、405 音声取得部、410 記憶部、415 分析部、420 処理部、500 制御部、505 通知部、520 自然言語処理用データベース、525 表現リスト。