(57)【要約】  複数の会話データを人の手を用いずに一つの木構造にモデル化でき、しかも、会話の流れを考慮しつつ、指定の発話に対する回答の発話例を容易に取得可能な木構造を得ることができる技術を提供するために、データ構造化装置１は、取得部２と、モデル化部３とを備えている。取得部２は、分岐表現データを取得する。分岐表現データとは、会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を含むデータである。会話データは、会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換される。モデル化部３は、グラフ構造の複数の会話データにおいて、取得部２により取得された分岐表現データに基づき、分岐表現を共通に含むノード同士を１ノードにまとめる処理を行い複数の会話データを１つの木構造にモデル化する。
2018173943.tif 000002
【特許請求の範囲】
【請求項１】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得手段と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化するモデル化手段と
を備えるデータ構造化装置。
【請求項２】
前記モデル化手段は、前記複数の会話データにおける会話開始から、会話の流れに沿って、前記分岐表現を含む分岐表現ノードに至るまでのノードをまとめる機能をさらに備える請求項１に記載のデータ構造化装置。
【請求項３】
前記モデル化手段は、前記複数の会話データにおける前記分岐表現ノードよりも会話終了側において、さらに、別の前記分岐表現を共通に含むノードがある場合には、それらノード同士を１ノードにまとめ、また、前記会話データのそれぞれにおいて、前記分岐表現ノードよりも会話終了側に前記分岐表現を含むノードが無い場合には、前記分岐表現ノードよりも会話終了側のノードをまとめる機能をさらに備える請求項２に記載のデータ構造化装置。
【請求項４】
前記モデル化手段は、前記分岐表現ノードに接続される子ノードに、前記分岐表現に対する回答の内容に応じたキーワードを付与する請求項３に記載のデータ構造化装置。
【請求項５】
前記取得手段は、会話の発話例を表すマニュアルデータから前記分岐表現データとして使用する発話例を指定する情報に基づいて、前記マニュアルデータから前記分岐表現データを取得する請求項１乃至請求項４の何れか一つに記載のデータ構造化装置。
【請求項６】
前記取得手段は、前記複数の会話データを解析することにより得られた分岐表現候補の中から前記分岐表現データとして使用する分岐表現候補を指定する情報に基づいて、前記分岐表現候補から前記分岐表現データを取得する請求項１乃至請求項４の何れか一つに記載のデータ構造化装置。
【請求項７】
前記モデル化手段は、複数のノードがまとめられたノードには、当該ノードに含まれる会話内容を表すキーワードを付与する機能をさらに備える請求項１乃至請求項６の何れか一つに記載のデータ構造化装置。
【請求項８】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得し、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化するデータ構造化方法。
【請求項９】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得する処理と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化する処理と
をコンピュータに実行させるコンピュータプログラムを記憶するプログラム記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、会話データを木構造にモデル化する技術に関する。
【背景技術】
【０００２】
会話データを構造化する手法の一例が特許文献１に表されている。すなわち、特許文献１はパーソナルサービスを支援するシステムに関し、当該特許文献１には、ユーザの問い合わせとそれに対するエージェントの回答との対話履歴を木構造にモデル化する手法が開示されている。木構造とは、グラフ構造の一種であり、複数のノード（節点）と、ノード間を接続するエッジ（枝）とにより表されるモデルである。木構造におけるノード間の関係は、木構造を家系図に見立てた用語を用いて表現される。木構造では、エッジにより接続されている２つのノードは親子関係にある。１つの親ノードは複数の子ノードを持つことはできるが、１つの子ノードは複数の親ノードを持つことはできない。会話を木構造にモデル化したものは会話木とも称される。また、全てのノードの親を辿っていくと辿り着く最上位のノードはルート（根）とも称され、子を持たない末端のノードはリーフ（葉）とも称される。【０００３】
特許文献１に開示されている手法では、対話が発話単位をノードとするリスト構造にモデル化され、このリスト構造のデータがデータベースに記憶されている。そして、ノードにおける発話内容に基づいて複数のリスト構造が結合されることにより、対話が体系的な対話モデルにモデル化されている。これにより、対話を蓄積しているデータベースからユーザやエージェントが質問に対する回答を検索する際に、検索結果の冗長が防止され、ユーザやエージェントが有効に対話履歴のデータベースを利用できるとされている。【０００４】
また、会話データを構造化する手法の別の一例が非特許文献１に開示されている。非特許文献１における手法では、会話履歴データが解析され、当該解析に基づいた各種ラベルが会話履歴データに付与される。各種ラベルとは、例えば、述語項の特定(Predicate Argument Annotation)、固有表現の特定(Named Entity Annotation)、談話行動タグ(Dialog Act Tag)やタスクサブタスクラベル(Task Subtask Label)などである。そして、それらラベルを利用した発話列の構文解析などにより会話がモデル化される。【０００５】
さらに、会話データを構造化する手法の別の一例が非特許文献２にも開示されている。非特許文献２における手法では、ＰＣＦＧ(Probabilistic Context-Free Grammars)やＰＬＣＦＲＳ(Probabilistic Linear Context-Free Rewriting Systems)などの文法を用いて解析対象のテキストが構造解析される。そして、この構造解析結果に基づいて解析対象のテキストがモデル化される。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２００９−２０５５５２号公報
【非特許文献】
【０００７】
【非特許文献１】S. Bangalore et al. (AT&T)， "Learning the Structure of Task−Driven Human−Human Dialogs"， IEEE Transactions on Audio， Speech， and Language Processing， Vol. 16， No.7， PP.1249-1259， 2008
【非特許文献２】A. Louis and S. B. Cohen (U． Edinburgh)， "Conversation Trees： A Grammar Model for Topic Structure in Forums"， Proceedings of the 2015 Conference on Empirical Methods in Natural Language Processing， PP. 1543-1553， 2015
【発明の概要】
【発明が解決しようとする課題】
【０００８】
上記のように、会話データをモデル化する手法は様々に提案されている。しかしながら、特許文献１等に記載されている手法では、人の手を用いずに複数の会話を１つの木構造（会話木）にモデル化することができないという問題が有る。複数の会話を１つの木構造にモデル化するとは、複数の会話を結合してモデル化することや、複数の会話中における共通の会話内容に応じた複数の応答の会話を１つの木構造にまとめることが含まれる。【０００９】
すなわち、特許文献１には、２つの会話データを１つの木構造にまとめることは記載されている。しかしながら、特許文献１に示されている手法では、２つの会話データを１つの木構造にまとめるためには、人が、まとめる対象の会話の選択や結合部分を指定しなければならない。つまり、特許文献１の手法では、人による指定が無い場合には、複数の会話を１つの木構造にまとめることができない。また、非特許文献１，２には、１つの会話データを１つの木構造にモデル化する手法は示されているが、複数の会話データを１つの木構造にまとめる手法は示されていない。さらに、非特許文献１，２には、１つの会話データをモデル化した木構造は示されているが、当該非特許文献１，２における木構造では、ルートからリーフに向かって辿った場合に自然な会話の流れになっていない。これにより、会話の流れを考慮しつつ、或る発話に対して、どのような回答が有るかを検索しにくい。【００１０】
本発明は上記課題を解決するために考え出された。すなわち、本発明の主な目的は、複数の会話データを人の手を用いずに１つの木構造にモデル化でき、しかも、会話の流れを考慮しつつ、指定の発話に対する回答の発話例を容易に取得可能な木構造を得る技術を提供することにある。
【課題を解決するための手段】
【００１１】
上記目的を達成するために、本発明のデータ構造化装置は、
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得する取得部と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化するモデル化部と
を備える。【００１２】
本発明のデータ構造化方法は、
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得し、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化する。【００１３】
本発明のプログラム記憶媒体は、
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得する処理と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化する処理と
をコンピュータに実行させるコンピュータプログラムを記憶する。
【発明の効果】
【００１４】
本発明によれば、複数の会話データを人の手を用いずに１つの木構造にモデル化でき、しかも、会話の流れを考慮しつつ、指定の発話に対する回答の発話例を容易に取得可能な木構造を得ることができる。
【図面の簡単な説明】
【００１５】
【図１】本発明に係る第１実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。
【図２】本発明に係る第２実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。
【図３】第２実施形態のデータ構造化装置が利用する分岐表現データの具体例を表す図である。
【図４】第２実施形態において具体例を説明する際に利用する会話データの一例を表す図である。
【図５】第２実施形態において具体例を説明する際に利用する会話データの別の一例を表す図である。
【図６】第２実施形態において具体例を説明する際に利用する会話データのさらに別の一例を表す図である。
【図７】第２実施形態におけるモデル化部の動作例を表すフローチャートである。
【図８】複数の会話データがグラフ構造に変換された状態を説明する図である。
【図９】第２実施形態におけるモデル化部が分岐表現を利用して複数の会話データをまとめる動作例を説明する図である。
【図１０】第２実施形態におけるモデル化部が複数の会話データを１つの木構造にまとめた具体的なモデル例が表されている。
【図１１】本発明に係る第３実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。
【図１２】第３実施形態のデータ構造化装置が処理に利用するマニュアルデータの一例を表す図である。
【図１３】第３実施形態のデータ構造化装置が複数の会話データを１つの木構造にまとめた具体的なモデル例を表す図である。
【図１４】本発明に係る第４実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。
【図１５】第４実施形態において具体例を説明する際に利用する会話データの一例を表す図である。
【図１６】第４実施形態において、抽出部によって会話データから抽出された分岐表現候補の具体例を表す図である。
【図１７】第４実施形態において、複数の会話データが１つの木構造にまとめられた具体的なモデル例を表す図である。
【図１８】本発明に係る実施形態のデータ構造化装置のハードウェア構成の一例を表す図である。
【発明を実施するための形態】
【００１６】
以下に、本発明に係る実施形態を図面を参照しつつ説明する。
【００１７】
＜第１実施形態＞
図１は、本発明に係る第１実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。第１実施形態のデータ構造化装置１は、取得部２と、モデル化部３とを備えている。取得部２は、分岐表現データを取得する機能を備えている。分岐表現データとは、会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を含むデータである。
【００１８】
第１実施形態では、会話データは、会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換される。モデル化部３は、グラフ構造の複数の会話データにおいて、取得部２により取得された分岐表現データに基づき、分岐表現を共通に含むノード同士を１ノードにまとめる処理を行い複数の会話データを１つの木構造にモデル化する機能を備えている。
【００１９】
第１実施形態のデータ構造化装置１は、分岐表現に着目することにより、複数の会話データを人の手を用いずに１つの木構造にまとめることができる。また、第１実施形態のデータ構造化装置１は、分岐表現に着目して複数の会話データを１つの木構造にまとめるので、当該データ構造化装置１による会話の木構造を用いて、例えば、会話中の問いや依頼に対する回答についての解析が容易となる。さらに、データ構造化装置１は、分岐表現に着目して複数の会話データを１つの木構造にまとめるので、会話の流れを保ちつつ（つまり、ルートからリーフに向かって辿った場合に会話を再現できる状態で）、複数の会話データを１つの木構造にまとめることができる。換言すれば、第１実施形態のデータ構造化装置１は、複数の会話データを人の手を用いずに１つの木構造にモデル化でき、しかも、会話の流れを考慮しつつ、指定の発話に対する回答の発話例を容易に取得可能な木構造を得ることができる。
【００２０】
第１実施形態のデータ構造化装置１による会話の木構造のモデルは、例えば、コンタクトセンタのオペレータの支援システムに利用されることにより、例えば、問いや依頼に対する回答の検索を容易にする。
【００２１】
＜第２実施形態＞
図２は本発明に係る第２実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。第２実施形態のデータ構造化装置２０は、会話データを木構造にモデル化する装置であり、例えば、ＣＰＵ（Central Processing Unit）により実現される。このデータ構造化装置２０は、会話中の分岐表現に着目し、分岐表現を利用することにより複数の会話データを１つの木構造にモデル化する機能を備えている。
【００２２】
ここでの分岐表現とは、複数の会話において、会話の流れが分岐する分岐点となる発話に含まれる表現である。分岐表現の具体例として、例えば、質問表現が挙げられる。つまり、「当店のご利用は初めてですか？」という問いに対して、「はい、初めてです」、「いいえ、利用したことがあります」というように複数の回答（答え）があり、会話の流れが分岐すると考えられることから、上記のような質問（問い）の発話表現は分岐表現である。また、「ご注文をお願いします」という依頼に対し、「商品Ａを注文します」、「商品Ｂを注文します」、「商品Ｃを注文します」というように複数の回答（答え）が想定される。このことから、そのような依頼表現も分岐表現として考えられる。このように、分岐表現には様々な表現が考えられる。
【００２３】
データ構造化装置２０は記憶装置２１と表示装置２２に接続されている。表示装置２２は、画面を有し、様々な情報を画面に表示する機能を備えている。
【００２４】
記憶装置２１には、データ構造化装置２０の機能を実現するコンピュータプログラム（プログラム）３３が記憶されている。また、記憶装置２１には、データ構造化装置２０が処理に使用する分岐表現データ３１が記憶されている。分岐表現データ３１は、分岐表現を表すデータである。図３には、分岐表現データの一具体例が表されている。図３における分岐表現データ３１は、正規表現を含む文字列のデータの態様となっている。ただし、分岐表現データ３１は、正規表現を含む文字列のデータに限定されず、例えば、形態素解析結果により得られる品詞や形態素の原形を含む文字列のデータであってもよい。
【００２５】
さらに、記憶装置２１には、会話データ３２が記憶されている。会話データ３２は例えばテキストデータである。図４〜図６には、それぞれ、会話データ３２の具体例が表されている。これら図４〜図６に表される会話の具体例は、注文受付センターのオペレータ（図４〜図６では、ＯＰと記されている）とそのユーザ（図４〜図６では、Ｕと記されている）との会話である。
【００２６】
データ構造化装置２０は、例えばＣＰＵが記憶装置２１のプログラム３３を読み込み当該プログラム３３を実行することにより、次のような機能を持つことができる。すなわち、データ構造化装置２０は、機能部として、取得部である表現受付部２５と、前処理部２６と、モデル化部２７と、表示制御部２８とを備えている。
【００２７】
表現受付部２５は、記憶装置２１から分岐表現データ３１を読み出し、読み出した分岐表現データ３１をモデル化部２７に提供する機能を備えている。
【００２８】
前処理部２６は、記憶装置２１から処理対象の会話データ３２を読み出し、読み出した会話データに前処理を施す機能を備えている。前処理とは、文分割、形態素解析（分かち書きや品詞ラベルの付与を含む）や、固有表現抽出や、照応解析などの予め定められた自然言語処理である。
【００２９】
モデル化部２７は、表現受付部２５から受け取った分岐表現データ３１と、前処理部２６により処理された会話データ３２とに基づいて、複数の会話データを木構造にモデル化する機能を備えている。このモデル化部２７による木構造は、会話開始をルートとし、会話終了をリーフとする構造を持つ。また、ここでは、１つの木構造にまとめられる複数の会話は、例えば、商品の注文を受け付ける注文受付センターのオペレータとそのユーザとの会話というように、同様な状況下で行われる会話を想定している。
【００３０】
図７はモデル化部２７による処理の流れの一例を表す図である。例えば、図４に表される会話データ３２と、図５に表される会話データ３２とが前処理部２６により処理され、当該処理による情報が付与された会話データ３２がモデル化部２７に提供されたとする。モデル化部２７は、前処理部２６を通して処理対象の複数の会話データ３２を受け取ると（Ｓ１０１）、１発話を１ノードとし、前後する発話を親子とし、親子関係にあるノード間をエッジにより接続する。これにより、モデル化部２７は、会話データ３２をグラフ構造にモデル化する（Ｓ１０２）。この処理によるグラフ構造の一例が図８に表されている。なお、図８におけるＯＰはオペレータを表し、Ｕはユーザを表している。
【００３１】
その後、モデル化部２７は、表現受付部２５から受け取った分岐表現データ３１に基づいて、分岐表現を含むノード（以下、分岐表現ノードとも記す）を特定する（Ｓ１０３）。そして、モデル化部２７は、処理対象の複数の会話データ３２の一つに注目し、会話開始（ルート）から会話終了（リーフ）に向かってノードを順に辿って行く。この際、モデル化部２７は、最初の分岐表現ノードに関し、同様な分岐表現を共通に含む分岐表現ノードが他の会話データ３２に有るか否かをチェックする。これにより、同様な分岐表現を含む分岐表現ノードが他の会話データ３２に有る場合には、モデル化部２７は、それら同様な分岐表現を共通に含む分岐表現ノード同士を１つのノードにまとめる（Ｓ１０４）。さらに、モデル化部２７は、そのまとめた分岐表現ノードに含まれる発話中の形態素のうち、出現頻度の高い形態素を会話データ３２からキーワードとして抽出し、当該キーワードを分岐表現ノードに付与する（Ｓ１０５）。
【００３２】
具体的には、例えば、図３に表される分岐表現データ「（ご）？注文．＊（ですか？｜お願いします。）＄」に該当する分岐表現ノードが図８の例における複数の会話データ３２に共通に有ることから、それら分岐表現ノードがまとめられる。そして、まとめられた分岐表現ノード（以下、分岐表現の結合ノードとも記す）には、例えば、会話データ３２からキーワードとして抽出された「注文」が付与される。なお、１つの結合ノードに付与するキーワードは１つに限定されず、例えば、複数のキーワードが付与されてもよい。また、キーワードは、ＴＦ（Term Frequency）−ＩＤＦ（Inverse Document Frequency）の値を算出し、当該算出された値に基づいて会話データ３２から抽出されてもよい。
【００３３】
その後、モデル化部２７は、引き続き、注目している会話データ３２のノードをリーフに向かって順に辿りながら、分岐表現ノードが有った場合には次のような処理を行う。すなわち、モデル化部２７は、ステップＳ１０４による分岐表現の結合ノードを共通の親ノードとして持つ他の会話データ３２のノードのうち、同様な分岐表現を共通に含む分岐表現ノードが有るか否かをチェックする。これにより、同様な分岐表現を含む分岐表現ノードが他の会話データ３２に有る場合には、モデル化部２７は、それら同様な分岐表現を共通に含む分岐表現ノード同士を１つのノードにまとめる（Ｓ１０６）。そして、モデル化部２７は、その分岐表現の結合ノードに上記同様にキーワードを付与する（Ｓ１０７）。モデル化部２７は、さらに、注目している会話データ３２に関し、リーフに向かってノードを辿りながら、分岐表現ノードが有った場合には、上述したようなステップＳ１０６，Ｓ１０７の処理を繰り返す。そして、注目している会話データ３２のリーフまで至った後に、モデル化部２７は、注目する会話データ３２を、未処理の別の会話データ３２に変更し、上記同様なステップＳ１０４〜Ｓ１０７処理を繰り返す。
【００３４】
然る後に、処理対象の複数の会話データ３２の全てについてステップＳ１０４〜Ｓ１０７の処理を終了すると、モデル化部２７は、分岐表現の結合ノード以外のノードにおいて、指定されているノード同士をまとめる（Ｓ１０８）。ここでは、モデル化部２７は、会話開始（ルート）から会話終了（リーフ）に向かってノードを辿った場合に最初となる分岐表現の結合ノードと、ルートとの間のノードを１つのノードにまとめる。また、モデル化部２７は、親子関係にある分岐表現の結合ノード間のノードを１つのノードにまとめる。そして、モデル化部２７は、そのようにまとめたノードにキーワードを付与する。
【００３５】
具体的には、例えば、図４〜図６における３つの会話データ３２を１つの木構造にモデル化する場合に、図３に表される分岐表現データ「（ご）？注文．＊（ですか？｜お願いします。）＄」に該当する分岐表現ノードが分岐表現の結合ノードとしてまとめられたとする。さらに、その分岐表現の結合ノードにキーワードとして「注文」が付与されたとする。このような場合に、図４〜図６における３つの会話データ３２におけるリーフからその分岐表現の結合ノードに至るまでの全てのノードが１つのノードにまとめられる。また、このまとめられたノードには、例えば、キーワードとして「登録」、「お客様ＩＤ」が付与される。さらに、この場合には、図５の会話データと図６の会話データにおける、注文商品がギフトであるか否かを質問するノードも共通の分岐表現を持つ分岐表現ノードとして特定されて１つのノードにまとめられる。そして、当該まとめられたノードには「ギフト」がキーワードとして付与される。さらに、「注文」に関する分岐表現の結合ノードと、「ギフト」に関する分岐表現の結合ノードとの間の親子関係にある複数のノードが一つにまとめられ、当該まとめられたノードには「商品Ｂ」、「商品Ｃ」がキーワードとして付与される。図９には、図４〜図６における３つの会話データ３２に、上記のような分岐表現ノードをまとめる処理と、分岐表現ノード以外の指定されたノード同士をまとめる処理と、まとめたノードにキーワードを付与する処理とが実行された後の具体例が表されている。なお、図９におけるＫＷはキーワードを表している。
【００３６】
その後、モデル化部２７は、各会話データ３２における最後の分岐表現の結合データからリーフに至るまでの親子関係にあるノードを返答ノードとしてまとめ、当該返答ノードに返答内容を表すキーワードを付与する（Ｓ１０９）。具体的には、例えば、図９における「商品Ａを１つ」という発話のノードからリーフ（図示せず）に至るまでに分岐表現ノードがなかった場合に、「商品Ａを１つ」という発話のノードからリーフに至るまでの親子関係にあるノードが返答ノードとしてまとめられる。そして、図１０に表されるように、その返答ノードには、会話データから抽出された「商品Ａ」がキーワードとして付与される。また、「はい、ギフトです」という発話のノードからリーフに至るまでに分岐表現ノードがなかった場合に、「はい、ギフトです」という発話のノードからリーフに至るまでの親子関係にあるノードが返答ノードとしてまとめられる。そして、図１０に表されるように、その返答ノードには「はい」がキーワードとして付与される。さらに、「いいえ、自宅用です」という発話のノードからリーフに至るまでに分岐表現ノードがなかった場合に、「いいえ、自宅用です」という発話のノードからリーフに至るまでの親子関係にあるノードが返答ノードとしてまとめられる。そして、図１０に表されるように、その返答ノードには「いいえ」がキーワードとして付与される。なお、返答ノードには、当該ノードにおける発話内容（返答内容）を表す正規表現のデータがキーワードとして関連付けられていてもよい。
【００３７】
モデル化部２７は、上記のように分岐表現に着目し、ノードをまとめることにより、複数の会話データ３２を１つの木構造にまとめてモデル化する機能を備えている。
【００３８】
表示制御部２８は、表示装置２２の画面の表示を制御する機能を備えており、例えば、データ構造化装置２０の操作者の要求に応じて、モデル化部２７により生成された木構造や、木構造の元となった会話データ３２などを表示装置２２の画面に表示する。
【００３９】
第２実施形態のデータ構造化装置２０は、分岐表現に基づいてノードをまとめることにより、複数の会話に因る表記ゆれや表現のバリエーションがあっても同様な内容のノードをまとめることができる。このため、データ構造化装置２０は、複数の会話データ３２を１つの木構造にモデル化することができる。また、データ構造化装置２０は、分岐表現に基づいてノードをまとめることにより、例えば、複数の会話において同様な会話内容を経て発せられた問いの発話に対する複数の応答（回答の発話）を１つの木構造にまとめることができる。さらに、データ構造化装置２０は、分岐表現に着目して複数の会話データを１つの木構造にまとめる。これにより、データ構造化装置２０は、第１実施形態と同様に、会話の流れを保ちつつ（つまり、ルートからリーフに向かって辿った場合に会話を再現できる状態で）、複数の会話データを１つの木構造にまとめることができる。換言すれば、第２実施形態のデータ構造化装置２０は、複数の会話データを人の手を用いずに１つの木構造にモデル化でき、しかも、会話の流れを考慮しつつ、指定の発話に対する回答の発話例を容易に取得可能な木構造を得ることができる。
【００４０】
なお、データ構造化装置２０には、図２の点線に示されるような音声認識部２９が備えられていてもよい。音声認識部２９は、例えば、マイク（図示せず）により取り込まれた音声データをテキストデータに変換し会話データ３２として記憶装置２１に格納する機能を備える。
【００４１】
なお、図１８は、データ構造化装置２０のハードウェア構成の一例を簡略化して表すブロック図である。データ構造化装置２０は、例えば、ＣＰＵ（Central Processing Unit）１０と、通信ユニット１１と、メモリ１２と、入出力ＩＦ（Interface）１３とを有する。通信ユニット１１は、例えば、情報通信網（図示せず）を介して外部の装置に接続し、当該装置との通信を実現する機能を備えている。入出力ＩＦ１３は、例えば、表示装置や、装置の操作者（ユーザ）が情報を入力するキーボード等の入力装置等に接続し、これら装置との情報（信号）の通信を実現する機能を備えている。メモリ１２は、データやコンピュータプログラム（プログラム）を格納する記憶装置である。記憶装置には様々な種類が有り、１つの装置に複数種の記憶装置が搭載されることがあるが、ここでは、包括的に１つのメモリとして表している。ＣＰＵ１０は、演算回路であり、メモリ１２に格納されているプログラムを読み出し当該プログラムを実行することにより、上述したようなデータ構造化装置２０の処理を実現する機能を備える。
【００４２】
＜第３実施形態＞
以下に、本発明に係る第３実施形態を説明する。なお、第３実施形態の説明において、第２実施形態のデータ構造化装置を構成する構成部分と同一名称部分には同一符号を付し、その共通部分の重複説明は省略する。
【００４３】
図１１は、第３実施形態のデータ構造化装置の構成を簡略化して表すブロック図である。第３実施形態のデータ構造化装置２０は、例えば商品の注文を受け付ける注文受付センターのオペレータとそのユーザとの会話を木構造にモデル化することを想定しており、モデル化の処理には、分岐表現データ３１に代えて、マニュアルデータ３４を利用する。
【００４４】
すなわち、第３実施形態では、記憶装置２１には、会話データ３２とプログラム３３に加えて、マニュアルデータ３４が格納されている。マニュアルデータ３４は、オペレータがユーザと会話する際の発話例（発話のマニュアル）を表すデータであり、例えば、図１２に表されるような発話例データに項目ＩＤが関連付けられている態様を備える。
【００４５】
また、第３実施形態では、データ構造化装置２０は、表現受付部２５に代えて、取得部である受付部３５を備えている。受付部３５は、表示制御部２８によってマニュアルデータ３４における発話例データを表示装置２２に表示させる機能を備える。また、受付部３５は、表示制御部２８によって「表示装置２２に表示された発話例データの中から分岐表現として使用する発話例データを指定してほしい」旨のメッセージを表示装置２２に表示させる機能を備える。さらに、データ構造化装置２０の操作者が、その表示を見て、表示装置２２に表示されている発話例データの中から分岐表現として使用する発話例データ（又は項目ＩＤ）を１つあるいは複数指定すると、受付部３５は、指定された情報を受け付ける機能を備える。そして、受付部３５は、その指定された情報に応じた発話例データをマニュアルデータ３４から取得し、モデル化部２７に分岐表現データとして出力する機能を備えている。
【００４６】
モデル化部２７は、発話例データから分岐表現データを取得する以外は、第２実施形態で説明した機能と同様の機能を有し、複数の会話データ３２を１つの木構造にモデル化する。なお、モデル化部２７が会話データ３２における分岐表現ノードを特定する場合に、例えば、あいまい検索等が利用される。また、モデル化部２７による処理の流れは第２実施形態で説明したモデル化部２７の処理の流れと同様であることから、その説明は省略する。
【００４７】
図１３には、モデル化部２７によりモデル化された会話データ３２の木構造の具体例が表されている。この具体例の木構造は、図１２に表されるマニュアルデータの項目ＩＤが「２−１」である発話データ「ご注文は何ですか？」が分岐表現データとして指定された場合に、図４〜図６の３つの会話データ３２をモデル化したものである。なお、図１３と図９にそれぞれ表される木構造は、両方共に図４〜図６の会話データを１つの木構造にまとめたモデルであるが、モデル化に使用した分岐表現に差異があることにより、図１３と図９のように、木構造に差異が生じている。つまり、図９では、「（ご）？注文．＊（ですか？｜お願いします。）＄」と「（贈り物｜ギフト）で（す｜しょう）か？＄」という２つの分岐表現に基づいてモデル化された木構造が表されている。図１３では、「ご注文は何ですか？」という１つの分岐表現に基づいてモデル化された木構造が表されている。また、図１３において、図９と同様に、ＫＷはキーワードを表し、ＯＰはオペレータを表し、Ｕはユーザを表している。
【００４８】
図１３の具体例では、分岐表現が「注文」を含む１つの分岐表現であることにより、ルートからその分岐表現を含む分岐表現ノードに至るまでの発話が１つのノードにまとめられている。また、分岐表現（問い）に対する返答の発話が、「ＫＷ（キーワード）＝商品Ａ」、「ＫＷ（キーワード）＝商品Ｂ」、「ＫＷ（キーワード）＝商品Ｃ」という３つのノードにまとめられている。
【００４９】
第３実施形態のデータ構造化装置２０は、第２実施形態と同様に、分岐表現に着目して複数の会話データ３２をまとめて１つの木構造にモデル化する構成を備えていることから、第２実施形態と同様の効果を得ることができる。また、第３実施形態のデータ構造化装置２０は、分岐表現データとして、発話のマニュアルデータを利用していることから、分岐表現の専用のデータを予め準備する手間を省くことができる。
【００５０】
＜第４実施形態＞
以下に、本発明に係る第４実施形態を説明する。なお、第４実施形態の説明において、第２や第３の実施形態のデータ構造化装置を構成する構成部分と同一名称部分には同一符号を付し、その共通部分の重複説明は省略する。
【００５１】
図１４は、第４実施形態におけるデータ構造化装置の構成を簡略化して表すブロック図である。第４実施形態のデータ構造化装置２０は、表現受付部２５や受付部３５に代えて、取得部である抽出部３８が備えている。また、記憶装置２１には、抽出パラメータ４０が格納されている。抽出パラメータ４０は、分岐表現候補を会話データ３２から抽出する処理で使用する抽出条件を表すデータである。この第４実施形態では、抽出パラメータ４０は、抽出条件を表す出現頻度（例えば、２以上）である。
【００５２】
抽出部３８は、抽出パラメータ４０に基づいて、処理対象の会話データ３２の中から抽出条件に該当する発話（例えば１発話全部や文節や単語など）を分岐表現候補として抽出する機能を備える。例えば、処理対象の会話データが図４、図５、図１５に表される３つの会話データであり、抽出パラメータ４０が「≧２（２以上）」である場合に、抽出部３８は、例えば分岐表現候補として図１６に表されるような発話データを抽出する。図１６の例では、抽出された発話データ（以下、抽出データとも記す）には当該抽出データを識別する項目ＩＤと、その抽出データが処理対象の複数の会話データ３２に出現した頻度（出現頻度）の情報とが関連付けられている。図１６に表されるような抽出データは例えば記憶装置２１に格納される。
【００５３】
また、抽出部３８は、表示制御部２８によって、抽出データを表示装置２２に表示させる機能を備えている。さらに、抽出部３８は、表示制御部２８によって、「表示された抽出データの中から分岐表現として使用する発話を指定してほしい」旨のメッセージを表示装置２２に表示させる機能を備える。さらにまた、データ構造化装置２０の操作者が、表示装置２２に表示されている抽出データの中から分岐表現として抽出データ（又は項目ＩＤ）を１つあるいは複数指定すると、抽出部３８は、指定された抽出データを表す情報を受け付ける機能を備える。そして、抽出部３８は、その指定された抽出データを分岐表現データとしてモデル化部２７に出力する機能を備えている。
【００５４】
モデル化部２７は、抽出部３８から分岐表現データを受け取る以外は、第２又は第３の実施形態で説明した機能と同様の機能を有し、第２又は第３の実施形態におけるモデル化部２７と同様の処理により、複数の会話データ３２を１つの木構造にモデル化する。なお、モデル化部２７が会話データ３２における分岐表現ノードを特定する場合に、例えば、あいまい検索等が利用される。また、モデル化部２７による処理の流れは第２実施形態で説明したモデル化部２７の処理の流れと同様であることから、その説明は省略する。
【００５５】
図１７には、モデル化部２７によりモデル化された会話データの木構造の具体例が表されている。この具体例では、処理対象の会話データ３２は、図４、図５、図１５に表される３つのデータである。また、それら処理対象の３つの会話データ３２の中から、抽出パラメータ４０により特定される抽出条件である“出現頻度が２以上である”という条件に基づいて図１６に表されるような発話データが抽出部３８により抽出データとして抽出されたとする。そして、抽出データの中から、データ構造化装置２０の操作者によって「商品Ａを一つ」が分岐表現として選択されたとする。この場合に、モデル化部２７は、その選択された分岐表現を利用して、図４、図５、図１５における３つの会話データ３２を図１７に表されるような１つの木構造にモデル化する。
【００５６】
図１７の具体例では、分岐表現が「商品Ａを一つ」という１つの分岐表現であることにより、その分岐表現に至るまでの会話が１つのノードにまとめられている。また、分岐表現に対する返答の会話が、「ＫＷ（キーワード）＝商品Ａ」、「ＫＷ（キーワード）＝商品Ｂ」という２つのノードにまとめられている。
【００５７】
第４実施形態のデータ構造化装置２０は、第２と第３の実施形態と同様に、分岐表現に着目して複数の会話データをまとめて木構造にモデル化する構成を備えていることから、第２や第３の実施形態と同様の効果を得ることができる。また、第４実施形態のデータ構造化装置２０は、分岐表現の候補を処理対象の会話データから抽出部３８が抽出していることから、分岐表現の専用のデータを予め準備する手間を省くことができる。
【００５８】
<その他の実施形態＞
なお、本発明は第１〜第４の実施形態に限定されず、様々な実施の態様を採り得る。例えば、第２〜第４の実施形態では、会話データをグラフ構造にモデル化する場合に、１発話を１ノードとしているが、ノードの単位は１発話に限定されず、例えば、話者交替（ターン）から次の話者交替（ターン）までの発話が１ノードであってもよい。さらに、１トピックが１ノードであってもよいし、１フェーズが１ノードであってもよい。
【００５９】
また、第２〜第４の実施形態では、注文受付センターのオペレータとそのユーザの会話を具体例として、データ構造化装置２０の機能を説明しているが、データ構造化装置２０がモデル化する会話は、そのような会話に限定されない。データ構造化装置２０は、他の同様な状況における複数の会話データを１つの木構造にまとめてモデル化することができる。
【００６０】
以上、上述した実施形態を模範的な例として本発明を説明した。しかしながら、本発明は、上述した実施形態には限定されない。即ち、本発明は、本発明のスコープ内において、当業者が理解し得る様々な態様を適用することができる。
【００６１】
この出願は、２０１７年３月２１日に出願された日本出願特願２０１７−０５４５２０を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【符号の説明】
【００６２】
１，２０  データ構造化装置
２  取得部
３，２７  モデル化部
２５  表現受付部
３５  受付部
３８  抽出部
【図１】
2018173943.tif 000003
【図２】
2018173943.tif 000004
【図３】
2018173943.tif 000005
【図４】
2018173943.tif 000006
【図５】
2018173943.tif 000007
【図６】
2018173943.tif 000008
【図７】
2018173943.tif 000009
【図８】
2018173943.tif 000010
【図９】
2018173943.tif 000011
【図１０】
2018173943.tif 000012
【図１１】
2018173943.tif 000013
【図１２】
2018173943.tif 000014
【図１３】
2018173943.tif 000015
【図１４】
2018173943.tif 000016
【図１５】
2018173943.tif 000017
【図１６】
2018173943.tif 000018
【図１７】
2018173943.tif 000019
【図１８】
2018173943.tif 000020
【手続補正書】
【提出日】令和1年8月23日(2019.8.23)
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得手段と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化するモデル化手段と
を備えるデータ構造化装置。
【請求項２】
前記モデル化手段は、前記複数の会話データにおける会話開始から、会話の流れに沿って、前記分岐表現を含む分岐表現ノードに至るまでのノードをまとめる機能をさらに備える請求項１に記載のデータ構造化装置。
【請求項３】
前記モデル化手段は、前記複数の会話データにおける前記分岐表現ノードよりも会話終了側において、さらに、別の前記分岐表現を共通に含むノードがある場合には、それらノード同士を１ノードにまとめ、また、前記会話データのそれぞれにおいて、前記分岐表現ノードよりも会話終了側に前記分岐表現を含むノードが無い場合には、前記分岐表現ノードよりも会話終了側のノードをまとめる機能をさらに備える請求項２に記載のデータ構造化装置。
【請求項４】
前記モデル化手段は、前記分岐表現ノードに接続される子ノードに、前記分岐表現に対する回答の内容に応じたキーワードを付与する請求項３に記載のデータ構造化装置。
【請求項５】
前記取得手段は、会話の発話例を表すマニュアルデータから前記分岐表現データとして使用する発話例を指定する情報に基づいて、前記マニュアルデータから前記分岐表現データを取得する請求項１乃至請求項４の何れか一つに記載のデータ構造化装置。
【請求項６】
前記取得手段は、前記複数の会話データを解析することにより得られた分岐表現候補の中から前記分岐表現データとして使用する分岐表現候補を指定する情報に基づいて、前記分岐表現候補から前記分岐表現データを取得する請求項１乃至請求項４の何れか一つに記載のデータ構造化装置。
【請求項７】
前記モデル化手段は、複数のノードがまとめられたノードには、当該ノードに含まれる会話内容を表すキーワードを付与する機能をさらに備える請求項１乃至請求項６の何れか一つに記載のデータ構造化装置。
【請求項８】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得し、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化するデータ構造化方法。
【請求項９】
会話中において互いに異なる複数の回答が想定される発話表現である分岐表現を表す分岐表現データを取得する取得する処理と、
会話内容が複数のノードに分けられ当該複数のノードがエッジにより接続されているグラフ構造に変換されている複数の会話データにおいて、前記取得された分岐表現データに基づき前記分岐表現を共通に含む前記ノード同士を１ノードにまとめる処理を行い前記複数の会話データを１つの木構造にモデル化する処理と
をコンピュータに実行させるコンピュータプログラム。
【国際調査報告】
2018173943.tif 000021
2018173943.tif 000022
2018173943.tif 000023