図面 (/)

技術 対話装置、方法、及びプログラム

出願人 日本電信電話株式会社
発明者 東中竜一郎松尾義博牧野俊朗小林のぞみ平野徹目黒豊美宮崎千明
出願日 2014年10月30日 (4年8ヶ月経過) 出願番号 2014-221444
公開日 2015年3月12日 (4年4ヶ月経過) 公開番号 2015-046183
状態 特許登録済
技術分野 検索装置 機械翻訳
主要キーワード 対話パターン 重複率 カラム目 スレッド番号 システム出力 入力発話 マイクロブログ 対話データ
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2015年3月12日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (10)

課題

応答関係にある発話データペアパターンに従って、ユーザの発話に対して応答することができるようにする。

解決手段

応答部63によって、ユーザ発話入力文字列に対して、単語列を取得すると共に、抽象化された文字列を取得し、単語パターンデータベース61又は抽象化パターンデータベース62に記憶された単語パターン又は抽象化パターンから、取得した単語列と一致すると判断される単語パターンを検索する。一致すると判断される単語パターン又は抽象化パターンが検索されると、応答部63は、検索された単語パターン又は抽象化パターンの後の発話データBの単語列を用いて出力部70により応答する。

概要

背景

人間同士が対話を行う場合、定型やりとりというものがある。たとえば、「こんにちは」に対して「こんにちは」と返したり、「ありがとう」に対して「どういたしまして」と返したり、「こら」に対して「ごめんなさい」と返すようなやりとりのことである。これらの定型やりとりは人間同士の対話で頻出し、人間はごく自然に行っている。ただ、人間が常識的に行うこれらの定型やりとりは、常識の工学的な扱いの難しさから、計算機苦手とするところである。このような定型やりとりを対話システムが実現するためには、上記のような応答を実現するための発話ペアユーザ入力発話(入力部)とそれに対応するシステム出力発話(出力部);たとえばユーザ入力発話「こんにちは」とシステム出力発話「こんにちは」)をデータベースとして保持する必要がある。たとえば、米国の対話システムとして有名なALICE(非特許文献1)はこのような発話ペアを手書きで大量に作成し、定型やりとりを実現している。

手書きのコストを避けるため、入力部に対する出力部を自動的にデータから求める研究もある。たとえば、別所らはユーザの入力発話を元に、マイクロブログであるツイッター(R)を検索し、関連ツイートを得る。そして、そのツイートに対し応答しているツイートを取得し応答に用いている(非特許文献2)。

概要

応答関係にある発話データペアパターンに従って、ユーザの発話に対して応答することができるようにする。応答部63によって、ユーザ発話入力文字列に対して、単語列を取得すると共に、抽象化された文字列を取得し、単語パターンデータベース61又は抽象化パターンデータベース62に記憶された単語パターン又は抽象化パターンから、取得した単語列と一致すると判断される単語パターンを検索する。一致すると判断される単語パターン又は抽象化パターンが検索されると、応答部63は、検索された単語パターン又は抽象化パターンの後の発話データBの単語列を用いて出力部70により応答する。

目的

本発明は、上記の事情を鑑みてなされたもので、応答関係にある発話データのペアのパターンに従って、ユーザの発話に対して応答することができる対話装置、方法、及びプログラムを提供する

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

応答関係にある発話データペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部と、入力されたユーザの発話データに基づいて、前記意味情報を含む文字列を取得する取得部と、前記取得部によって取得された前記意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索する検索部と、前記検索部によって検索された前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する応答部と、を含む対話装置

請求項2

応答関係にある発話データのペアの各々について予め取得された、前記ペアの先に発話された発話データを表す単語列と後に発話された発話データを表す単語列とのペアである、複数の単語パターン、及び前記発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部と、入力されたユーザの発話データに基づいて、前記発話データを表す単語列、及び前記意味情報を含む文字列を取得する取得部と、前記取得部によって取得された前記発話データを表す単語列と、前記ペアの前記先に発話された発話データを表す単語列とが一致すると判断される前記単語パターンを、前記記憶部に記憶された前記複数の単語パターンから検索し、前記取得部によって取得された、前記発話データの意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索する検索部と、前記検索部によって前記単語パターンが検索された場合には、前記単語パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力し、前記検索部によって前記単語パターンが検索されなかった場合であって、かつ、前記検索部によって前記抽象化パターンが検索された場合には、前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する応答部と、を含む対話装置。

請求項3

応答関係にある発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部を含む対話装置における対話方法であって、取得部によって、入力されたユーザの発話データに基づいて、前記意味情報を含む文字列を取得し、検索部によって、前記取得部によって取得された前記意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索し、応答部によって、前記検索部によって検索された前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する対話方法。

請求項4

応答関係にある発話データのペアの各々について予め取得された、前記ペアの先に発話された発話データを表す単語列と後に発話された発話データを表す単語列とのペアである、複数の単語パターン、及び前記発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部を含む対話装置の対話方法であって、取得部によって、入力されたユーザの発話データに基づいて、前記発話データを表す単語列、及び前記意味情報を含む文字列を取得し、検索部によって、前記取得部によって取得された前記発話データを表す単語列と、前記ペアの前記先に発話された発話データを表す単語列とが一致すると判断される前記単語パターンを、前記記憶部に記憶された前記複数の単語パターンから検索し、前記取得部によって取得された、前記発話データの意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索し、応答部によって、前記検索部によって前記単語パターンが検索された場合には、前記単語パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力し、前記検索部によって前記単語パターンが検索されなかった場合であって、かつ、前記検索部によって前記抽象化パターンが検索された場合には、前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する対話方法。

請求項5

コンピュータを、請求項1又は2記載の対話装置を構成する各部として機能させるためのプログラム

技術分野

0001

本発明は、対話装置、方法、及びプログラム係り、特に、応答関係にある発話データペアにおけるパターンを用いて、ユーザの発話に対して応答する対話装置、方法、及びプログラムに関する。

背景技術

0002

人間同士が対話を行う場合、定型やりとりというものがある。たとえば、「こんにちは」に対して「こんにちは」と返したり、「ありがとう」に対して「どういたしまして」と返したり、「こら」に対して「ごめんなさい」と返すようなやりとりのことである。これらの定型やりとりは人間同士の対話で頻出し、人間はごく自然に行っている。ただ、人間が常識的に行うこれらの定型やりとりは、常識の工学的な扱いの難しさから、計算機苦手とするところである。このような定型やりとりを対話システムが実現するためには、上記のような応答を実現するための発話ペアユーザ入力発話(入力部)とそれに対応するシステム出力発話(出力部);たとえばユーザ入力発話「こんにちは」とシステム出力発話「こんにちは」)をデータベースとして保持する必要がある。たとえば、米国の対話システムとして有名なALICE(非特許文献1)はこのような発話ペアを手書きで大量に作成し、定型やりとりを実現している。

0003

手書きのコストを避けるため、入力部に対する出力部を自動的にデータから求める研究もある。たとえば、別所らはユーザの入力発話を元に、マイクロブログであるツイッター(R)を検索し、関連ツイートを得る。そして、そのツイートに対し応答しているツイートを取得し応答に用いている(非特許文献2)。

先行技術

0004

Richard S. Wallace, "The Anatomy of A.L.I.C.E.," A.L.I.C.E. Artificial Intelligence Foundation, Inc, 2004.
Bessho, F., Harada, T., and Kuniyoshi, Y. (2012) . "Dialog System Using Real-Time Crowdsourcing and Twitter Large-Scale Corpus." In Proc. SIGDIAL, pp. 227-231.

発明が解決しようとする課題

0005

上記の非特許文献1の手法では、網羅的な発話ペアを作成するには多大な手作業のコストがかかる。また、上記の非特許文献2の手法では、入力発話を元に検索するだけであり、定型やりとりとしての応答が適切に返せる保証はない。定型やりとりは人間にとっては極めて自然なやりとりであり、確実に行うことができないと、人間とシステムのスムーズなやりとりは実現できない。

0006

本発明は、上記の事情を鑑みてなされたもので、応答関係にある発話データのペアのパターンに従って、ユーザの発話に対して応答することができる対話装置、方法、及びプログラムを提供することを目的とする。

課題を解決するための手段

0007

上記の目的を達成するために第1の発明に係る対話装置は、応答関係にある発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部と、入力されたユーザの発話データに基づいて、前記意味情報を含む文字列を取得する取得部と、前記取得部によって取得された前記意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索する検索部と、前記検索部によって検索された前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する応答部と、を含んで構成されている。

0008

第2の発明に係る対話方法は、応答関係にある発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部を含む対話装置における対話方法であって、取得部によって、入力されたユーザの発話データに基づいて、前記意味情報を含む文字列を取得し、検索部によって、前記取得部によって取得された前記意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索し、応答部によって、前記検索部によって検索された前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する。

0009

第3の発明に係る対話装置は、応答関係にある発話データのペアの各々について予め取得された、前記ペアの先に発話された発話データを表す単語列と後に発話された発話データを表す単語列とのペアである、複数の単語パターン、及び前記発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部と、入力されたユーザの発話データに基づいて、前記発話データを表す単語列、及び前記意味情報を含む文字列を取得する取得部と、前記取得部によって取得された前記発話データを表す単語列と、前記ペアの前記先に発話された発話データを表す単語列とが一致すると判断される前記単語パターンを、前記記憶部に記憶された前記複数の単語パターンから検索し、前記取得部によって取得された、前記発話データの意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索する検索部と、前記検索部によって前記単語パターンが検索された場合には、前記単語パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力し、前記検索部によって前記単語パターンが検索されなかった場合であって、かつ、前記検索部によって前記抽象化パターンが検索された場合には、前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する応答部と、を含んで構成されている。

0010

第4の発明に係る対話方法は、応答関係にある発話データのペアの各々について予め取得された、前記ペアの先に発話された発話データを表す単語列と後に発話された発話データを表す単語列とのペアである、複数の単語パターン、及び前記発話データのペアの各々について予め取得された、前記ペアの前記先に発話された発話データを表す単語列の各単語に対して予め用意された前記単語の意味情報を含む文字列と前記後に発話された発話データを表す単語列とのペアである、複数の抽象化パターンを記憶した記憶部を含む対話装置の対話方法であって、取得部によって、入力されたユーザの発話データに基づいて、前記発話データを表す単語列、及び前記意味情報を含む文字列を取得し、検索部によって、前記取得部によって取得された前記発話データを表す単語列と、前記ペアの前記先に発話された発話データを表す単語列とが一致すると判断される前記単語パターンを、前記記憶部に記憶された前記複数の単語パターンから検索し、前記取得部によって取得された、前記発話データの意味情報を含む文字列と、前記ペアの前記先に発話された前記意味情報を含む文字列とが一致すると判断される前記抽象化パターンを、前記記憶部に記憶された前記複数の抽象化パターンから検索し、応答部によって、前記検索部によって前記単語パターンが検索された場合には、前記単語パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力し、前記検索部によって前記単語パターンが検索されなかった場合であって、かつ、前記検索部によって前記抽象化パターンが検索された場合には、前記抽象化パターンの、前記後に発話された発話データを表す単語列を、前記ユーザの発話データに対する応答として出力する。

0011

第5の発明に係るプログラムは、コンピュータを、上記の対話装置の各部として機能させるためのプログラムである。

発明の効果

0012

以上説明したように、本発明の対話装置、方法、及びプログラムによれば、入力されたユーザの発話データを表す単語列の各単語に対して予め用意された単語の意味情報を含む文字列を取得し、取得された発話データの意味情報を含む文字列と、ペアの先に発話された発話データの意味情報を含む文字列とが一致すると判断される抽象化パターンを検索し、検索された抽象化パターンの、後に発話された発話データを表す単語列を、応答として出力することにより、応答関係にある発話データのペアのパターンに従って、ユーザの発話に対して応答することができる、という効果が得られる。

図面の簡単な説明

0013

本発明の実施の形態に係る対話システムの対話パターン抽出装置の構成を示す概略図である。
ツイートデータの一例を示す図である。
1対話のツイートデータの一例を示す図である。
単語パターンの一例を示す図である。
抽象化パターンの一例を示す図である。
本発明の実施の形態に係る対話システムの対話装置の構成を示す概略図である。
対話システムとユーザの対話例を示す図である。
本発明の実施の形態に係る対話パターン抽出装置におけるパターン抽出処理ルーチンの内容を示すフローチャートである。
本発明の実施の形態に係る対話装置における対話処理ルーチンの内容を示すフローチャートである。

実施例

0014

以下、図面を参照して本発明の実施の形態を詳細に説明する。

0015

<発明の概要
大量の対話データから定型やりとりを抽出して、対話システムが用いる発話ペアを獲得する。また、対応できるユーザ入力を拡充するために、発話ペアにおける先の発話を抽象化する。さらに、対話システムがユーザ発話に対して応答するとき、抽象化されていない発話ペア、抽象化された発話ペアを順に用いることで、入力に対して、適切な応答を行う。

0016

システム構成
以下では、対話システムに本発明を適用した場合を例に説明する。

0017

図1に示すように、本発明の実施の形態に係る対話システムの対話パターン抽出装置100は、対話データが入力され、発話ペアの定型やりとりのパターンを抽出する。この対話パターン抽出装置100は、CPUと、RAMと、後述するパターン抽出処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図1に示すように、対話パターン抽出装置100は、入力部10と、演算部20とを備えている。

0018

入力部10は、複数の発話データを含む対話データの入力を受け付ける。例えば、マイクロブログサービスであるツイッター(R)から収集したツイートデータの集合が、対話データとして入力される。本実施の形態では、ツイートデータうち、一定期間について、in_reply_toフィールドを保持する、または、他のツイートに返信を受けているツイートデータのみを、ツイッター(R)のサイトからクロールすることで、ツイートデータの集合を収集する。これによって、図2に示すようなデータができる。

0019

上記図2で、各行はツイートを表し、status_idがツイートのID、in_reply_to_status_idが、当該ツイートが返信関係にあるツイートのIDを示す。ここでは、101番のツイートと102番のツイートが、100番のツイートに返信していることが分かる。

0020

演算部20は、対話データ記憶部21、発話ペア抽出部22、単語パターン取得部23、抽象化パターン取得部24、パターン登録部25、単語パターンデータベース26、及び抽象化パターンデータベース27を備えている。パターン登録部25は、パターン出力部の一例である。

0021

対話データ記憶部21は、入力部10により受け付けた対話データを記憶する。

0022

発話ペア抽出部22は、対話データ記憶部21に記憶された対話データから、応答関係にある発話データのペアを各々抽出する。例えば、上記図2に示すような、ツイートデータの集合から、in_reply_toで関係づけられた一連のツイートをひとまとめにする作業を行う。

0023

具体的には、対話データ記憶部21に記憶された各ツイートデータを、in_reply_to_status_idで親ノードを表すような木構造ノードとして扱い、全ツイートデータを木構造となるように内部で変換する。ここで、根ノードは、in_reply_to_status_idで指す先が無いようなツイートデータであり、葉ノードはどこからもin_reply_to_status_id で指されていないツイートデータである。そして、葉ノードから根ノードまでたどり、そのパス中のノードを表すツイートデータを根ノードから葉ノードの順で、1対話として出力することを行う。この過程により、図3に示すようなデータが構築できる。

0024

上記図3に示すデータの形式疑似XML形式となっている。各対話はというタグで括られ、idとthreadという属性を持つ。idはルートのstatus_idごとにユニークに決定されるID番号であり、threadは同じルートを持つ対話を識別するためのスレッド番号である。までは、一行一文のツイートであり、発話、ユーザ、日付を表している。なお、ツイッター(R)に特有書式(@、RTなど)をこの段階で手動ルールに従って除外して、発話の本文だけを抽出しておく。以降、このデータをツイート対話データと呼ぶことにする。

0025

発話ペア抽出部22は、このツイート対話データにおける各対話(conversation)について、連続した発話を取り出す。対話にN発話あれば、N-1個のペアが抽出される。上記図3の例であれば各対話には2つの発話ずつしかないため、それぞれから、1つずつ発話ペアが抽出される。すなわち、「あけましておめでとう」と「おめでとー」のペアと、「あけましておめでとう」と「今年もよろしく」のペアである。

0026

単語パターン取得部23は、発話ペア抽出部22が抽出した発話ペアの各々について、単語を用いて表される単語パターンを作成する。具体的には、発話ペアのうちの先に発話された発話データと後に発話された発話データをそれぞれA、Bとすると、発話データAと発話データBのそれぞれについて、形態素解析し、不要な単語(空白句点読点記号など)を除去した上で、その単語列を取得する。たとえば、発話データが「帰宅した」であれば、「帰宅 し た」という単語列が得られる。発話ペアの発話データAと発話データBを処理し、発話データAから得られた単語列と発話データBから得られた単語列とをペアにし、単語パターンとして取得する。本実施の形態では、形態素解析エンジンとして、出願人が開発している、JTAGを用いているが、他の形態素解析エンジンであるChaSenやMecabを用いてもよい。

0027

抽象化パターン取得部24は、発話ペア抽出部22が抽出した発話ペアの各々について、意味情報と単語とを用いて表される抽象化パターンを作成する。例えば、発話ペアのうちの先に発話された発話データと後に発話された発話データをそれぞれA、Bとすると、発話データAについては、形態素解析し、不要な単語を除去した上、単語それぞれについて、語彙大系の意味属性が付与された単語であれば、予め用意した語彙大系から意味属性の先頭のものを取得し、意味属性がなければ、単語そのものを取得し、各単語について取得した意味属性又は単語を、文字列として連結する。

0028

たとえば、発話データ「帰宅した」であれば、「帰宅」には2175という意味属性が付与されており、「し」には2050という意味属性が付与されており、「た」には意味属性がない。そのため、発話データ「帰宅した」から、「N-2175 N-2050 た」という文字列が得られる。ここで「N-」は名詞の意味属性であることを表す接頭辞である。また、本実施の形態では、抽象化パターン取得部24でも形態素解析にはJTAGを用いる。JTAGは、一般的な形態素解析器が出力する品詞情報などのほか、意味属性と呼ばれる、単語についての意味情報も出力する。なお、各単語の意味情報を取得する際、市中オンラインシソーラスを用いて得られる意味情報を用いてもよい。たとえば、WordNetのSynsetIDやEDR辞書における概念識別子を用いてもよい。この結果得られる文字列(たとえば、「N-2175 N-2050 た」)を抽象化された文字列と呼ぶ。

0029

発話データBについては、単語パターン取得部23における処理と同様の処理を行う。すなわち、発話データBを形態素解析し、不要な単語(空白、句点、読点、記号など)を除去した上、その単語列を取得する。発話データAの抽象化された文字列と発話データBの単語列をペアにして、抽象化パターンとする。

0030

パターン登録部25は、単語パターン取得部23によって取得した単語パターンの各々と、抽象化パターン取得部24によって取得した抽象化パターンの各々とに基づいて、対話データ記憶部21に記憶されているツイート対話データ全体における、各単語パターンの頻度、及び各抽象化パターンの頻度を計算し、単語パターンのうち、所定の頻度以上出現した単語パターンを各々選択し、発話ペアとして単語パターンデータベース26に登録する。また、パターン登録部25は、抽象化パターンのうち、所定の頻度以上出現した抽象化パターンを各々選択し、発話ペアとして抽象化パターンデータベース27に登録する。たとえば、所定の頻度とは10である。

0031

なお、パターン登録部25は、単語パターンデータベース26及び抽象化パターンデータベース27に登録する単語パターン及び抽象化パターンの、後の発話データBの単語列について、単語間の空白を削除する。この空白の除去は、対話システムの対話装置150で、ユーザ発話に対する応答としてそのまま出力できるようにするためである。なお、登録されたパターンの質の向上のため、以下の工夫も行う。

0032

固有名詞数値などが単語パターン及び抽象化パターンの、後の発話データBの単語列に存在することがまれにある。このようなパターンにおける後の発話データBの単語列は、具体的な内容を含んでいると考えられ、いつでも使える定型やりとりとしては妥当ではない可能性が高い。そこで、後の発話データBの単語列について形態素解析を行い、固有名詞や数値が含まれていると判断される場合は、パターン登録部25は、頻度に関係なく、当該後の発話データBの単語列を有する単語パターン及び抽象化パターンを、単語パターンデータベース26及び抽象化パターンデータベース27に登録しない。また、後の発話データBの単語列に含まれている意味属性を確認し、7番から45番までの意味属性(人物を指す表現に相当)が含まれている場合は、特定の人物に対する応答である可能性があるため、パターン登録部25は、当該後の発話データBの単語列を有する単語パターン及び抽象化パターンを、単語パターンデータベース26及び抽象化パターンデータベース27に登録しない。また、先の発話データAの単語列及び後の発話データBの単語列の少なくとも一方の文字列長が長すぎる場合にも複雑な内容が含まれるなど、定型やりとりではない可能性が高いため、パターン登録部25は、当該単語列を有する単語パターン及び抽象化パターンを、単語パターンデータベース26及び抽象化パターンデータベース27に登録しない。たとえば、20文字を超える場合は登録しない。

0033

例えば、数千万のconversationからなるツイート対話データから、上記で説明したパターン抽出処理を経て、19375の単語パターンが単語パターンデータベース26に登録される。また、19790の抽象化パターンが抽象化パターンデータベース27に登録される。図4は、登録された単語パターンの抜粋であり、図5は、登録された抽象化パターンの抜粋である。3つのカラムからなっており、パターンのID番号、ユーザ入力発話(前の発話データAの単語列又は抽象化された文字列)、システム出力発話(後の発話データBの単語列)である。2カラム目、3カラム目の組がいわゆる発話ペアである。

0034

図6に示すように、本発明の実施の形態に係る対話システムの対話装置150は、ユーザ発話が入力され、ユーザ発話に対する応答を出力する。この対話装置150は、CPUと、RAMと、後述する対話処理ルーチンを実行するためのプログラムを記憶したROMとを備えたコンピュータで構成され、機能的には次に示すように構成されている。図6に示すように、対話装置150は、入力部50と、演算部60と、出力部70とを備えている。

0035

入力部50は、入力されたユーザ発話を受け付ける。

0036

演算部60は、単語パターンデータベース61、抽象化パターンデータベース62、及び応答部63を備えている。

0037

単語パターンデータベース61には、対話パターン抽出装置100の単語パターンデータベース26と同じ単語パターンが記憶されている。

0038

抽象化パターンデータベース62には、対話パターン抽出装置100の抽象化パターンデータベース27と同じ抽象化パターンが記憶されている。

0039

応答部63は、入力部50により入力されたユーザ発話を受け付けると、ユーザ発話の入力文字列に対して、単語パターン取得部23による単語パターンの前の発話データAの単語列を取得する処理と同様の処理を行って、単語列を取得すると共に、抽象化パターン取得部24による抽象化パターンの前の発話データAの抽象化された文字列を取得する処理と同様の処理を行って、抽象化された文字列を取得する。

0040

そして、応答部63は、単語パターンデータベース61に記憶された単語パターンから、前の発話データAの単語列が、上記取得した単語列と一致すると判断される単語パターンを検索する。一致すると判断される単語パターンが検索されると、応答部63は、検索された単語パターンの後の発話データBの単語列を用いて出力部70により応答する。一致する単語パターンが複数検索された場合には、そのうち一つの単語パターンをランダムに選択して出力部70により応答する。一致すると判断される単語パターンが検索されなかった場合には、抽象化パターンデータベース62に記憶された抽象化パターンから、前の発話データAの抽象化された文字列が、上記取得した抽象化された文字列と一致すると判断される抽象化パターンを検索する。一致すると判断される抽象化パターンが検索されると、応答部63は、検索された抽象化パターンの後の発話データBの単語列を用いて出力部70により応答する。一致すると判断される抽象化パターンが複数検索された場合には、そのうち一つの抽象化パターンをランダムに選択して出力部70により応答する。
なお、本実施の形態では、応答部63は、完全一致のみではなく、一致するとみなされる単語パターンや抽象化パターンを検索している。具体的には、例えば、編集距離や単語の重複率などを用いて、予め設けておいた閾値に基づいて当該閾値を超えるか否かにより、一致するか否かを判断して、単語パターンや抽象化パターンを検索している。このように応答部63は、上記取得した単語列と完全に一致する単語パターンのみではなく、一致すると判断される単語パターンを検索し、上記取得した抽象化された文字列と完全に一致する抽象化パターンのみではなく、一致すると判断される抽象化パターンを検索することが好ましい。

0041

このように、単語パターンとのマッチ優先し、意味情報を用いた抽象化パターンとの緩やかなマッチを後段に行うことで、単語列が一致するパターンによる応答ができる場合にはそれを行い、単語列として一致しないような入力であるが、意味的には近い入力についても、定型やりとりを実現することができる。なお、一致すると判断される単語パターン及び抽象化パターンの何れも検索されなかった場合には、定型やりとりの範疇ではないと判断し、別途用意した発話ペア又は別途人手で作成した応答ルールに基づいて、応答すればよい。別途用意した発話ペアに基づいて応答する方法、別途人手で作成した応答ルールを用いて応答する方法については、例えば、上記の非特許文献1に記載のALICEなどの従来既知の方法を用いればよいため、説明を省略する。

0042

図7に、本実施の形態に係る対話装置150を用いた対話システムとユーザとの対話例を示す。人間同士がよく行うような定型やりとりを用いることで、自然な対話を実現できていることが分かる。なお、最初のシステムの「こんにちは」は対話システムのプロンプト初期発話)であり、取得したパターンを用いて発話しているわけではない点に注意する。

0043

<対話システムの作用>
次に、本実施の形態に係る対話システムの作用について説明する。まず、予め用意されたツイート対話データが対話パターン抽出装置100に入力されると、対話パターン抽出装置100によって、入力されたツイート対話データが、対話データ記憶部21へ格納される。そして、対話パターン抽出装置100によって、図8に示すパターン抽出処理ルーチンが実行される。

0044

まず、ステップS101において、対話データ記憶部21から、ツイート対話データを取得し、ステップS102において、上記ステップS101で取得したツイート対話データから、発話ペアを各々抽出する。

0045

次のステップS103では、上記ステップS102で抽出された発話ペアの各々について、当該発話ペアの発話データAから得られた単語列と発話データBから得られた単語列とをペアにして、単語パターンとして取得する。

0046

そして、ステップS104において、上記ステップS102で抽出された発話ペアの各々について、当該発話ペアの発話データAの各単語の意味属性を求めることにより得られた抽象化された文字列と発話データBから得られた単語列とをペアにして、抽象化パターンとして取得する。

0047

次のステップS105では、上記ステップS103で取得した単語パターンから、ツイート対話データ全体における出現頻度が所定の頻度以上となる単語パターンを選択し、単語パターンデータベース26に登録する。そして、ステップS106において、上記ステップS104で取得した抽象化パターンから、ツイート対話データ全体における出現頻度が所定の頻度以上となる抽象化パターンを選択し、抽象化パターンデータベース27に登録し、パターン抽出処理ルーチンを終了する。

0048

そして、単語パターンデータベース26に登録された単語パターンが、対話装置150の単語パターンデータベース61に記憶される。また、抽象化パターンデータベース27に登録された単語パターンが、対話装置150の抽象化パターンデータベース62に記憶される。

0049

ユーザ発話が対話装置150に入力されると、対話装置150によって、図9に示す対話処理ルーチンが実行される。

0050

ステップS111において、入力されたユーザ発話を受け付ける。ステップS112では、上記ステップS111で受け付けたユーザ発話から、単語列を取得し、単語パターンデータベース26から、上記で取得した単語列と、前の発話データAの単語列とが一致すると判断される単語パターンを検索する。

0051

ステップS113では、上記ステップS112で単語パターンが検索されたか否かを判定する。単語パターンが検索された場合には、ステップS114で、上記ステップS112で検索された単語パターンの、後の発話データBの単語列を用いて、上記ステップS111で入力されたユーザ発話に対する応答を生成する。

0052

一方、単語パターンが検索されなかった場合には、ステップS115において、上記ステップS111で受け付けたユーザ発話から、抽象化された文字列を取得し、抽象化パターンデータベース27から、上記で取得した抽象化された文字列と、前の発話データAの抽象化された文字列とが一致すると判断される抽象化パターンを検索する。

0053

ステップS116では、上記ステップS115で抽象化パターンが検索されたか否かを判定する。抽象化パターンが検索された場合には、ステップS117で、上記ステップS115で検索された抽象化パターンの、後の発話データBの単語列を用いて、上記ステップS111で入力されたユーザ発話に対する応答を生成する。

0054

一方、抽象化パターンが検索されなかった場合には、ステップS118において、予め用意した発話ペアに基づいて、入力されたユーザ発話に対する応答を生成する。

0055

ステップS119では、上記ステップS114、S117、又はS118で生成された応答を、出力部70により出力し、対話処理ルーチンを終了する。

0056

以上説明したように、本実施の形態に係る対話システムの対話パターン抽出装置によれば、対話データから抽出された発話ペアの各々について、ペアの先に発話された発話データを表す単語列と後に発話された発話データを表す単語列とのペアである単語パターン、及びペアの先に発話された発話データの意味情報を含む抽象化された文字列と後に発話された発話データを表す単語列とのペアである抽象化パターンを取得し、出現頻度が閾値以上となる単語パターン及び抽象化パターンを抽出することにより、応答関係にある発話データのペアのパターンを抽出することができる。

0057

また、対話システムの対話装置によれば、入力されたユーザの発話データを表す単語列及び当該発話データの意味情報を含む抽象化された文字列を取得し、取得された発話データを表す単語列と、ペアの先に発話された発話データを表す単語列とが一致すると判断される単語パターンを検索し、取得された発話データの抽象化された文字列と、ペアの先に発話された発話データの抽象化された文字列とが一致すると判断される抽象化パターンを検索し、検索された単語パターン又は抽象化パターンの、後に発話された発話データを表す単語列を、応答として出力することにより、応答関係にある発話データのペアのパターンに従って、ユーザの発話に対して応答することができる。

0058

また、対話パターン抽出装置は、大規模対話コーパスである対話データから、高頻度に出現する発話ペアを単語パターンとして抽出すると共に、パターン中の単語を意味情報に抽象化することによって、より汎用的な抽象化パターンを抽出することができる。さらに、対話装置は、抽象化されていない単語パターンと抽象化されたパターンを順に利用することで、ユーザに適切な応答を返すことができる。

0059

また、人間が日常的に行うようなやりとりを対話システムが実現できるようになり、人間とシステムの間のやりとりがスムーズになる。その結果、コンピュータと人間の共同作業の効率が高まる。

0060

なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。

0061

例えば、対話パターン抽出装置と対話装置とを一つの装置で実現するようにしてもよい。

0062

また、対話パターン抽出装置は、単語パターンのみを抽出し、単語パターンデータベースに登録するようにしてもよい。この場合には、対話装置は、単語パターンデータベースのみを備え、入力されたユーザ発話の単語列と一致すると判断される単語パターンを単語パターンデータベースから検索して、応答を生成する。

0063

また、対話パターン抽出装置は、抽象化パターンのみを抽出し、抽象化パターンデータベースに登録するようにしてもよい。この場合には、対話装置は、抽象化パターンデータベースのみを備え、入力されたユーザ発話の抽象化された文字列と一致すると判断される抽象化パターンを抽象化パターンデータベースから検索して、応答を生成する。

0064

また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能である。

0065

10、50 入力部
20、60演算部
21対話データ記憶部
22発話ペア抽出部
23 単語パターン取得部
24抽象化パターン取得部
25パターン登録部
26、61 単語パターンデータベース
27、62 抽象化パターンデータベース
63応答部
70 出力部
100対話パターン抽出装置
150 対話装置

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

  • グーグルエルエルシーの「 ビデオマッチングシステムのサービス品質向上のための画像マッチングシステムの使用」が 公開されました。( 2019/05/30)

    【課題・解決手段】システムは、対象のビデオを受信する。システムは、対象のビデオ内の動的セグメントと準静的セグメントとを識別する。システムは、対象のビデオの動的セグメントと参照ビデオの参照動的セグメント... 詳細

  • 尾和剛一の「 特許文献集合の分析方法」が 公開されました。( 2019/05/23)

    【課題】特定のコア技術や、特定の出願人の特定の分野の全特許文献集合の文献件数時系列動向とは異なる動向を示す文献項目を抽出する方法を提供する。【解決手段】特定文献集合分折方法は、特定の文献集合の特許文献... 詳細

  • 株式会社大塚商会の「 画像解析システム」が 公開されました。( 2019/05/23)

    【課題】 画像解析システムを提供することを目的とする。【解決手段】 画像解析システムであって,対象物と対象物関連情報とを対応づけて記憶する対象物情報記憶部と,第1の画像情報と,少なくとも一以上の第... 詳細

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ