IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ TIS株式会社の特許一覧

<>
  • 特開-対話システム 図1
  • 特開-対話システム 図2
  • 特開-対話システム 図3
  • 特開-対話システム 図4
  • 特開-対話システム 図5
  • 特開-対話システム 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024147011
(43)【公開日】2024-10-16
(54)【発明の名称】対話システム
(51)【国際特許分類】
   G06F 3/16 20060101AFI20241008BHJP
   G10L 15/22 20060101ALI20241008BHJP
   G10L 13/00 20060101ALI20241008BHJP
   G10L 13/10 20130101ALI20241008BHJP
   G10L 13/08 20130101ALI20241008BHJP
   H04L 51/02 20220101ALI20241008BHJP
   H04L 67/53 20220101ALI20241008BHJP
   H04L 67/63 20220101ALI20241008BHJP
【FI】
G06F3/16 650
G10L15/22 300Z
G10L13/00 100M
G10L13/10 114
G10L13/08 124
G06F3/16 630
H04L51/02
H04L67/53
H04L67/63
【審査請求】未請求
【請求項の数】8
【出願形態】OL
(21)【出願番号】P 2023059775
(22)【出願日】2023-04-03
(71)【出願人】
【識別番号】514020389
【氏名又は名称】TIS株式会社
(74)【代理人】
【識別番号】110002860
【氏名又は名称】弁理士法人秀和特許事務所
(72)【発明者】
【氏名】福江 尚史
(57)【要約】
【課題】対話システムへのサードパーティサービスの取り込みを簡易化する。対話システムを介したサードパーティサービスの利用を簡易化する。
【解決手段】対話システム1が、ユーザから受け付けた発話文の内容に応じて、サードパーティサービスの機能を利用して返答する処理と、自ら返答する処理とを適応的に切り替える。対話システム1では、サードパーティサービスの登録及び利用を簡単化するために「対話型のインターフェイス」と「定義体」を導入する。
【選択図】図1
【特許請求の範囲】
【請求項1】
ユーザの発話文を受け付ける発話受付部と、
受け付けた発話文に対する返答文を前記ユーザへ出力する対話処理部と、
問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶する定義体記憶部と、
を有し、
前記対話処理部は、
受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定する判定部と、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成する仲介対話部と、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成する自発対話部と、
を有する、
対話システム。
【請求項2】
前記定義体記憶部に新たなサードパーティサービスの定義体を追加登録するための登録部を有する、
請求項1に記載の対話システム。
【請求項3】
前記定義体記憶部に登録された定義体に含まれる問合せ文の仕様を集めてコーパスを生成するコーパス生成部を有し、
前記判定部は、受け付けた発話文に類似する問合せ文が前記コーパス内に存在する場合に、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定する、
請求項1に記載の対話システム。
【請求項4】
前記問合せ文の仕様は、自然言語からなる文章の一部に変数を含んだ記述により定義され、
前記仲介対話部は、前記発話文から抽出した語で前記変数を置き換えることによって問合せ文を生成する、
請求項1に記載の対話システム。
【請求項5】
前記対話処理部は、前記仲介対話部によって生成された返答文と前記自発対話部によって生成された返答文を、前記ユーザの端末において、同一の音声で再生し、又は、同一の文体のテキストで出力させる、
請求項1に記載の対話システム。
【請求項6】
前記対話処理部は、前記仲介対話部によって生成された返答文と前記自発対話部によって生成された返答文を、前記ユーザの端末において、異なる音声で再生し、又は、異なる文体のテキストで出力させる、
請求項1に記載の対話システム。
【請求項7】
問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶しているコンピュータが、
ユーザの発話文を受け付けるステップと、
受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定する
ステップと、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成するステップと、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成するステップと、
生成した返答文を前記ユーザへ出力するステップと、
を有する対話処理方法。
【請求項8】
問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶しているコンピュータに、
ユーザの発話文を受け付けるステップと、
受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定するステップと、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成するステップと、
前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成するステップと、
生成した返答文を前記ユーザへ出力するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、対話型のサービスを提供するための技術に関する。
【背景技術】
【0002】
近年、チャットボットやスマートスピーカーなどを利用した対話システムが実用化されている。対話システムは、音声又はテキストベースによる対話形式でユーザの質問や要求に応答するシステムであり、特別なITスキルがなくても簡単に利用できることから、今後さらなる普及が期待されている。例えば、アマゾン社のAlexa(登録商標)は、スマートスピーカーで利用可能なクラウドベースの対話システムであり、雑談のような音声対話機能に加え、音楽再生や通話などの機能も有する。さらに、「スキル」と呼ばれる拡張アプリをインストールすることによって、Alexaを介して外部のWebサービス(以下「サードパーティサービス」とも称する。)を利用できるようにする拡張性も有している。特許文献1では、対話システムを介したサードパーティサービスへのアクセスを容易化する手法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2023-017956号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
Alexaの「スキル」のような拡張アプリは、対話システムの事業者(プラットフォーマー)側が定めた仕様に従って作成されるコンピュータプログラムであるため、その開発には、高度なプログラム開発能力と、プラットフォーマー側が定めた仕様等の十分な理解が必要となる。このようなアプリ開発の困難さと煩雑さは、サードパーティにとって、対話システムを核とするプラットフォームへ自社サービスを展開する際のハードルとなっていた。
【0005】
対話システムの事業者側が、自社のプラットフォームに取り込みたいサードパーティサービスの拡張アプリを自ら開発することも考えられるが、その場合は、サードパーティ各社が独自に定めているAPI(Application Programming Interface)に合わせて個別に
拡張アプリを作り込む必要が生じる。それゆえ、対話システムの事業者がインターネット上に存在する数多くのサードパーティサービスに個別に対応することは現実的でないし、開発コストも無視できない。
【0006】
本発明は上記実情に鑑みてなされたものである。対話システムの事業者又はサードパーティの視点からの本発明の目的は、対話システムへのサードパーティサービスの取り込みを簡易化するための技術を提供することである。また、対話システムの利用ユーザの視点からの本発明の目的は、対話システムを介したサードパーティサービスの利用を簡易化するための技術を提供することにある。
【課題を解決するための手段】
【0007】
本発明は、ユーザの発話文を受け付ける発話受付部と、受け付けた発話文に対する返答文を前記ユーザへ出力する対話処理部と、問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶する定義体記憶部と、を有し、前記対話処理部は、受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定する判定部と、前記受け付けた
発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成する仲介対話部と、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成する自発対話部と、を有する、対話システムを含む。
【0008】
前記定義体記憶部に新たなサードパーティサービスの定義体を追加登録するための登録部を有してもよい。
【0009】
前記定義体記憶部に登録された定義体に含まれる問合せ文の仕様を集めてコーパスを生成するコーパス生成部を有し、前記判定部は、受け付けた発話文に類似する問合せ文が前記コーパス内に存在する場合に、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定してもよい。
【0010】
前記問合せ文の仕様は、自然言語からなる文章の一部に変数を含んだ記述により定義され、前記仲介対話部は、前記発話文から抽出した語で前記変数を置き換えることによって問合せ文を生成してもよい。
【0011】
前記対話処理部は、前記仲介対話部によって生成された返答文と前記自発対話部によって生成された返答文を、前記ユーザの端末において、同一の音声で再生し、又は、同一の文体のテキストで出力させてもよい。
【0012】
前記対話処理部は、前記仲介対話部によって生成された返答文と前記自発対話部によって生成された返答文を、前記ユーザの端末において、異なる音声で再生し、又は、異なる文体のテキストで出力させてもよい。
【0013】
本発明は、問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶しているコンピュータが、ユーザの発話文を受け付けるステップと、受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定するステップと、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成するステップと、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成するステップと、生成した返答文を前記ユーザへ出力するステップと、を有する対話処理方法を含む。
【0014】
本発明は、問合せ文を入力すると戻り文を返す対話型のインターフェイスを有するサードパーティサービスについて、問合せ文の仕様の定義を含む定義体を記憶しているコンピュータに、ユーザの発話文を受け付けるステップと、受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定するステップと、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文であると判定された場合に、前記定義体に含まれる問合せ文の仕様に従って前記発話文から問合せ文を生成して前記サードパーティサービスに送信し、前記サードパーティサービスから返される戻り文から前記ユーザへの返答文を生成するステップと、前記受け付けた発話文がサードパーティサービスに渡すべき内容の発話文でないと判定された場合に、前記発話文に対する返答文を自ら生成するステップと、生成した返答文を前記ユーザへ出力するステップと、を実行させるためのプログラムを含む。
【0015】
本発明は、上記構成や後述する構成の少なくとも一部を有する対話システム、対話処理システム、サービス提供システム、サービス仲介システム、プラットフォームシステムなどとして捉えることができる。また、本発明は、上記処理や後述する処理の少なくとも一部を有する対話処理方法、対話システムの制御方法、サービス提供方法、サービス仲介方法などとして捉えてもよい。また、本発明は、コンピュータをこれらのシステムとして機能させるプログラムや、コンピュータにこれらの方法を実行させるためのプログラム、あるいは、そのようなプログラムを非一時的に記憶したコンピュータ読取可能な記憶媒体として捉えてもよい。
【発明の効果】
【0016】
本発明によれば、対話システムの事業者又はサードパーティは、サードパーティサービスを対話システムに簡単に取り込むことができるようになる。また、対話システムの利用ユーザは、対話システムを介してサードパーティサービスを簡単に利用することができるようになる。
【図面の簡単な説明】
【0017】
図1図1は、対話システムの構成と対話サービスの概略を示す図である。
図2図2Aは、料理のオンライン注文・デリバリーサービスの定義体の例であり、図2Bは、水道工事の依頼サービスの定義体の例である。
図3図3は、定義体登録画面の例である。
図4図4は、自発対話処理のフローを示す図である。
図5図5は、仲介対話処理のフローを示す図である。
図6図6は、自発対話処理と仲介対話処理の切り替え判定のフローを示す図である。
【発明を実施するための形態】
【0018】
(システム構成)
図1は、本発明の実施形態に係る対話システム1の構成と対話サービスの概略を示している。
【0019】
対話システム1は、ユーザ(利用者)に対話サービスを提供するためのコンピュータシステムである。ユーザは、ユーザ端末2からインターネットを介して対話システム1にアクセスすることによって、対話サービスを利用することができる。対話システム1が提供するサービスとしては、例えば、音声による対話、テキストによる対話、音楽の再生、ラジオやポッドキャスト、スケジューラ、天気予報、ビデオ通話や音声通話、メッセージ送信、翻訳などが想定される。また、対話システム1は、様々なサードパーティサービスの仲介を行う『サービス仲介機能』(「サービスプラットフォーム機能」ともいう。)も有している。
【0020】
サードパーティサービスとは、対話システム1の事業者とは異なる、外部のサービス事業者(サードパーティ)によって提供されるWebサービスである。サードパーティサービスには、例えば、料理のオンライン注文・デリバリー、eコマース、工事の見積・依頼、宅配、ネットスーパーなど、様々なサービスが存在する。図1の符号3(3a、3b)は、サービス事業者各社で運用しているサービス提供サーバを示している。
【0021】
ユーザとしては、ユーザ端末2からサービス提供サーバ3に直接アクセスし、各社のWebサービスを利用することも可能である。しかし、数多のWebサービスのなかからどれを選んでよいかわからない、新規のサービスに利用登録する手間が煩わしい、そもそもそのWebサービスの存在を知らないなどの理由で、ユーザがWebサービスの利用機会
を持てないことも多い。また、サービス事業者にとっても、多くのユーザ(特に、ネットに不慣れなユーザ)の獲得・集客は難しい課題である。
【0022】
対話システム1のサービス仲介機能は、任意のWebサービスを事前に登録しておき、ユーザとWebサービスのマッチング、ユーザへのWebサービスのレコメンド、Webサービスへの送客を行う。これにより、ユーザにとっては普段から使っている対話サービスの延長でサードパーティサービスを利用できるというメリットがあり、サービス事業者にとっては対話サービスのユーザを自社サービスの顧客として取り込むことができるというメリットがある。また、対話システム1の事業者にとっても、対話サービスの機能を拡張・充実できるため、対話サービスのユーザ獲得や顧客満足の向上というメリットが得られる。
【0023】
(対話システム)
対話システム1は、主な機能として、発話受付部10、対話処理部11、定義体記憶部12、定義体登録部13、コーパス生成部14を有している。発話受付部10は、ユーザ端末2からユーザの発話文を受け付ける機能である。対話処理部11は、ユーザから受け付けた発話文に対する返答文を生成し、ユーザへ出力する処理を担う機能である。定義体記憶部12は、サードパーティサービスの定義体を記憶するデータベースである。定義体登録部13は、サードパーティサービスの定義体を新たに定義体記憶部12に登録する処理を担う機能である。コーパス生成部14は、定義体記憶部12に登録された定義体から問合せ文コーパス113を生成する処理を担う機能である。「定義体」は、サードパーティサービスの登録及び利用を簡易化するためのフレームワークである。詳しい説明は後述する。
【0024】
対話処理部11は、判定部110、仲介対話部111、自発対話部112、問合せ文コーパス113を有している。判定部110は、ユーザから受け付けた発話文がサードパーティサービスに渡すべき内容の発話文か否かを判定する機能である。仲介対話部111は、サードパーティサービスの機能を利用して、発話文に対するユーザへの返答文を生成する機能であり、自発対話部112は、発話文に対するユーザへの返答文を自ら(つまりサードパーティサービスの機能を利用せずに)生成する機能である。要するに、対話処理部11は、ユーザの発話文の内容に応じて、サードパーティサービスの機能を利用して返答する処理と、自ら返答する処理とを適応的に切り替える。このような仕組みにより、ユーザは、対話サービスの一機能のようにサードパーティサービスを利用することができる。
【0025】
対話システム1は、例えば、プロセッサ(CPU)、メモリ、ストレージ、通信装置などを備える汎用のコンピュータにより構成可能であり、上述した機能は、ストレージからメモリに展開されたプログラムをプロセッサが実行することによって実現される。対話システム1は、ローカルに設置されるコンピュータでもよいし、インターネット上(クラウド)に設置されるコンピュータでもよい。また、対話システム1は、一台のコンピュータで構成してもよいし、分散コンピューティングのように複数台のコンピュータの協働により構成してもよいし、クラウドコンピューティングのように動的に割り当てられるリソースであってもよい。あるいは、対話システム1の提供する機能の一部ないし全部を、FPGAやASICなどの回路、又は、専用のハードウェアにより構成してもよい。
【0026】
(ユーザ端末)
ユーザ端末2は、ユーザが利用するコンピュータである。ユーザ端末2は、例えば、プロセッサ(CPU)、メモリ、ストレージ、通信装置、マイク、スピーカーなどを備えて構成され、後述するユーザ端末2の機能は、ストレージからメモリに展開されたプログラムをプロセッサが実行することによって実現される。具体的には、スマートフォン、タブレット端末、スマートスピーカーなどをユーザ端末2として好ましく利用できるが、それ
に限らず、パーソナルコンピュータ、ゲーム機器、コンピュータ搭載家電、ウェアラブル端末などをユーザ端末2として利用してもよい。ユーザとユーザ端末2の間のマンマシンインターフェイスは、音声の入出力でもよいし、キーボードやタッチパネルディスプレイでもよい。以下の実施形態では、スマートスピーカーにより音声で対話サービスを利用するユースケースを例に挙げて説明を行う。
【0027】
(サードパーティサービスのためのフレームワーク)
従来の対話システムでも、拡張アプリをインストールすることによって、サードパーティサービスの利用が可能であった。しかしながら、前述のように、拡張アプリの開発には、対話システムの事業者側が定めた拡張アプリの仕様とサードパーティサービスのAPI仕様の両方の理解が必要となるため、開発にかかる負荷やコストが大きいという課題がある。
【0028】
そこで、本実施形態に係る対話システム1では、サードパーティサービスの登録及び利用を簡単化するためのフレームワークとして、「対話型のインターフェイス」と「定義体」を導入する。
【0029】
(1)対話型のインターフェイス
サードパーティサービスを外部(対話システム1)から利用する際のインターフェイスを、『問合せ文』を入力すると『戻り文』を返すという対話型のインターフェイスに統一する。問合せ文と戻り文のいずれも自然言語による自由文で記述してよい。例えば、サードパーティサービスに対し問合せ文「カレーライスを配達して」を送信すると、戻り文「11時30分頃に配達します。代金は1200円です。」がサードパーティサービスから返信される、というように、あたかも人が対話しているような形式がとられる。
【0030】
対話型のインターフェイスを採用することにより、次のようなメリットがある。第一に、可読性が高く直感的であること、問合せ文と戻り文の設計自由度が高いことなどから、従来のプログラム用APIに比べて開発が容易である。第二に、開発が容易であると、サードパーティ各社が対話型のインターフェイスへの対応を進んで行うようになり、対話型のインターフェイスの普及につながる。第三に、対話システム1とサードパーティサービスの間のやり取りも対話形式にすることで、ユーザと対話システム1の間でやり取りされる対話サービスとの親和性が高くなる(例えば、ユーザからの質問をそのまま又は加工してサードパーティサービスに送るとか、サードパーティサービスからの戻り文をそのまま又は加工してユーザに送ることも可能である。)。
【0031】
(2)定義体
定義体とは、サードパーティサービスの利用方法が記述されたデータである。定義体には、例えば、次のような情報が記述される((*)は必須情報を示す)。
【0032】
・定義体規格(*):定義体のベースとなる仕様(WSDL、OpenAPIなど)
・作成者(*):サービス提供者の名称
・定義名称(*):サービスの名称
・説明(*):サービスの説明
・詳細説明:サービスの詳細説明
・問合せ(*):サービスが理解可能な問合せ文の定義
・エンドポイント(*):サービスの接続先(URLなど)
・アクセス権限:認証方法など
・利用条件:サービスを利用する際の条件(利用可能時間、利用可能回数、利用料金など)
【0033】
図2A及び図2Bに定義体の具体例を示す。図2Aは、料理のオンライン注文・デリバリーサービスの定義体の例であり、図2Bは、水道工事の依頼サービスの定義体の例である。問合せの定義に含まれる「{{…}}」は変数を示している。例えば、図2Aの例に示される「{{料理名}}」の部分には任意の料理名を代入でき、同サービスは「牛丼を注文して」、「ラーメンを注文して」、「チーズバーガーを注文して」のように任意の料理についての問合せ文を受付可能であることを意味する。
【0034】
サービス事業者は、自社サービスを対話システム1のプラットフォームで利用できるようにしたいと希望する場合、その準備としては、自社サービスに対話型のインターフェイスを用意し、定義体を作成し配布するだけでよい。定義体の配布はどのような方法で行ってもよく、例えば、サービス事業者のWebサイトで定義体を公開もしくはダウンロード可能にしてもよいし、対話システム1のプラットフォームで利用可能なサードパーティサービスを告知するディレクトリサービスで公開もしくはダウンロード可能にしてもよい。あるいは、定義体を公開するのではなく、サービス事業者から対話システム1の事業者に定義体のデータを直接提供する方法でもよい。
【0035】
(新規サービスの登録)
対話システム1に新規のサードパーティサービスを登録する手順を説明する。
【0036】
まず、対話システム1の管理者は、新規に登録するサードパーティサービスの定義体を入手する。例えば、サービス事業者のWebサイトやディレクトリサービスなどで定義体データをダウンロードしてもよいし、サービス事業者から定義体データの提供を受けてもよい。
【0037】
次に、管理者は、定義体登録部13を利用して定義体を対話システム1に登録する。具体的には、管理者が定義体登録部13の新規登録機能を起動し、登録したい定義体を指定すると、図3に示すような定義体登録画面が表示される。初期状態では、定義体から読み込まれた定義名称、説明、詳細説明、利用条件が定義体登録画面に表示される。管理者が、必要に応じて定義体登録画面上で定義名称等の記述を変更した後、登録ボタンを押下すると、この定義体の情報が定義体記憶部12に登録される。定義名称、説明、詳細説明、利用条件を修正可能とした理由は、これらの情報は、対話システム1で利用可能なサードパーティサービスの紹介情報としてユーザに公開されるため、対話システム1のユーザ向けに説明する内容としてより適切な記述に改められるようにしたものである。修正が不要であれば、定義体の内容がそのままユーザに公開される。
【0038】
定義体の情報が定義体記憶部12に新規登録されると、コーパス生成部14が、定義体から問合せ文の定義を読み込み、各問合せ文に対し形態素解析や品詞付与などの自然言語処理を施した後、その結果を問合せ文コーパス113に追加する。問合せ文コーパス113は、定義体記憶部12に登録された全ての定義体の問合せ文の定義を集めたコーパスであり、後述する対話処理において、ユーザから受け付けた発話文とサードパーティサービスの問合せ文との類似度を判定するために利用される。
【0039】
(対話処理)
本実施形態の対話システム1の対話処理では、ユーザの発話文の内容に応じて、自ら返答する処理(「自発対話処理」とも称する。)と、サードパーティサービスの機能を利用して返答する処理(「仲介対話処理」とも称する。)と、が自動で切り替えられる。
【0040】
以下、図4図6を参照して、対話システム1による対話処理の流れを説明する。図4は自発対話処理のフローを示し、図5は仲介対話処理のフローを示している。図6は自発対話処理と仲介対話処理の切り替え判定のフローを示す。
【0041】
(1)自発対話処理
ユーザがユーザ端末2に向けて発話すると、ユーザ端末2が音声認識処理により発話音声をテキストデータ形式の『発話文』に変換し(ステップS20)、インターネットを介して発話文を対話システム1に送信する(ステップS21)。ユーザ端末2から送信されてきた発話文は、対話システム1の発話受付部10によって受け付けられる(ステップS10)。ここでは一例として、ユーザが「ただいま!お腹がすいたなぁ」と発話したと想定する。
【0042】
対話処理部11は、判定部110によって、発話受付部10にて受け付けた発話文が『サードパーティサービスに渡すべき内容の発話文』か『自ら返答すべき内容の発話文』かを判定する(ステップS11)。具体的には、図6に示すように、判定部110は、問合せ文コーパス113を検索し、ユーザから受け付けた発話文に類似する問合せ文が問合せ文コーパス113に存在するか否かを調べる(ステップS110)。
【0043】
発話文と問合せ文の類似度の評価には公知の自然言語処理を用いることができる。例えば、単語ベクトルなどの特徴量を利用して発話文と問合せ文の距離を評価してもよい。またこのとき、シソーラスや潜在意味インデクシングなどを利用することにより、類義語や潜在意味などを考慮した類似度の評価を行ってもよい。
【0044】
問合せ文コーパス113に登録されている各社のサードパーティサービスの問合せ文の中から、発話文との類似度が所定の閾値を超える問合せ文が検出された場合(ステップS111のYES)、判定部110は、この発話文が『サードパーティサービスに渡すべき内容の発話文』に該当すると判定し、仲介対話処理モード(図5)に切り替える(ステップS112)。他方、類似度が閾値を超える問合せ文が検出されなかった場合は(ステップS111のNO)、判定部110は、この発話文が『自ら返答すべき内容の発話文』に該当すると判定し、自発対話処理モード(図4)に切り替える(ステップS113)。上記の発話文「ただいま!お腹がすいたなぁ」に対しては、類似する問合せ文が検出されなかったという想定で、図4に戻り自発対話処理の説明を続ける。
【0045】
自発対話処理モードでは、自発対話部112が、不図示の対話辞書、対話コーパス、シナリオなどを参照して、発話文に対する返答文を生成する(ステップS16)。返答文の生成には公知の自然言語処理やAIチャットボットの技術などを用いることができる。例えば、自発対話部112は、形態素解析、係り受け解析、句構造解析、意味解析、文脈解析などによって発話文の内容やユーザの意図を理解した上で、適切な返答文の生成を行う。ここでは、発話文「ただいま!お腹がすいたなぁ」への返事として、返答文「おかえりなさい。何か食べたいものありますか?」が生成されたと仮定する。
【0046】
自発対話部112は、生成した返答文をユーザ端末2に送信する(ステップS17)。ユーザ端末2では、対話システム1から返答文を受信すると(ステップS22)、音声合成処理が行われ、返答文の内容が音声出力される(ステップS23)。以上のような自発対話処理によって、ユーザと対話システム1との会話や雑談が実現される。
【0047】
(2)仲介対話処理
次に図5を参照して、仲介対話処理の流れを説明する。ここでは一例として、ユーザが「牛丼が食べたいな。注文して!」と発話したと想定する。
【0048】
発話受付部10による発話文の受け付け(ステップS10)から判定部110による自発対話か仲介対話かの判定(ステップS11)の処理は、自発対話処理の場合と同じである。例えば、上記の発話文「牛丼が食べたいな。注文して!」は、図2Aに示すオンライ
ン注文・デリバリーサービスの定義体に含まれる「{{料理名}}を注文して」という問合せ文にヒットし、『サードパーティサービスに渡すべき内容の発話文』に該当すると判定され(ステップS111のYES)、仲介対話処理モードに切り替えられる(ステップS112)。
【0049】
仲介対話処理モードでは、仲介対話部111が、ステップS11で検出された問合せ文の仕様に従って、発話文から問合せ文を生成する(ステップS12)。上記の例では、ヒットした問合せ文「{{料理名}}を注文して」が変数「{{料理名}}」を含む仕様であるため、仲介対話部111は、発話文から抽出した料理名を示す語「牛丼」で変数「{{料理名}}」を置き換えることにより、「牛丼を注文して」という問合せ文を生成する。
【0050】
次に、仲介対話部111は、オンライン注文・デリバリーサービスの定義体のエンドポイント(接続先)やアクセス権限(認証方法)などを参照して、オンライン注文・デリバリーサービスのサービス提供サーバ3aにアクセスし、問合せ文「牛丼を注文して」をサービス提供サーバ3aに送信する(ステップS13)。サービス提供サーバ3aは、対話システム1から問合せ文を受信すると(ステップS30)、問合せ文に対する戻り文を生成し(ステップS31)、戻り文を対話システム1に返信する(ステップS32)。ここでは、「牛丼並盛は400円です。19時頃のお届けになりますが、注文を確定してよいですか?」という戻り文が返信されたと仮定する。
【0051】
仲介対話部111は、サービス提供サーバ3から戻り文を受信すると(ステップS14)、その戻り文を元にユーザへの返答文を生成する(ステップS15)。このとき、戻り文をそのまま返答文にしてもよいし、戻り文の意味はそのままで文体や文書構造などを修正したものを返答文にしてもよい。
【0052】
仲介対話部111は、生成した返答文をユーザ端末2に送信する(ステップS17)。ユーザ端末2では、対話システム1から返答文を受信すると(ステップS22)、音声合成処理が行われ、返答文の内容が音声出力される(ステップS23)。以上のような仲介対話処理によって、ユーザは対話サービスを介してサードパーティサービスを利用することができる。
【0053】
対話システム1の対話処理部11は、仲介対話処理モードで生成された返答文と自発対話処理モードで生成された返答文が、ユーザ端末2において同一の音声で再生され、又は、同一の文体のテキストで出力されるように、返答文の生成を行うとよい。同一の音声ないし文体で出力することによって、対話システム1自身が提供するサービスなのかサードパーティサービスなのかの区別が付き難くなるので、様々なサービスを違和感なくシームレスに切り替えることが可能となり、あたかも一つの対話サービスを利用しているような使用感をユーザに与えることができる。
【0054】
なお、対話システム1の対話処理部11は、仲介対話処理モードで生成された返答文と自発対話処理モードで生成された返答文が、ユーザ端末2において異なる音声で再生され、又は、異なる文体のテキストで出力されるように、返答文の生成を行ってもよい。敢えて異なる音声ないし文体で出力することによって、ユーザに、対話システム1自身が提供するサービスなのか、サードパーティサービスなのかを区別して意識させることができる。例えば、サードパーティサービスの内容や遂行に対して対話システム1の事業者が管理監督責任を持たない場合などは、自発対話処理の返答文は女性の声で出力し、仲介対話処理の返答文は男性の声で出力するというように、音声や文体の違いで、現在進行しているやり取りの責任の所在をユーザに明示してもよい。
【0055】
(その他)
上記実施形態は本発明の一適用例を説明したものにすぎず、本発明の範囲は上記実施形態のものに限定されない。例えば、上記実施形態では、ユーザ端末2が音声とテキストの相互変換を行っているが、ユーザ端末2と対話システム1の間で音声データを授受するようにしてもよい。具体的には、ユーザ端末2がユーザの発話音声データを対話システム1に送信し、対話システム1側で音声データからテキストデータへの変換を行う。逆の場合も、対話システム1が返答音声データを生成してユーザ端末2に送信し、ユーザ端末2は受信した音声データをそのまま再生する。このような構成でも上記実施形態と同様の対話サービスを実現できる。また、上記実施形態では、対話システム1の管理者が定義体の登録を行う例を説明したが、サードパーティが自社サービスの定義体を対話システム1に登録できるようにしてもよい。
【符号の説明】
【0056】
1:対話システム
2:ユーザ端末
3,3a,3b:サービス提供サーバ
図1
図2
図3
図4
図5
図6