(57)【要約】【課題】ユーザ発話に対する応答発話を対話ルールを用いて決定する際に、ユーザ発話と対話ルールとを適切に照合させる。【解決手段】ユーザ発話を入力とし、発話パターン及び発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、ユーザ発話と発話パターンとを照合することによりユーザ発話に対する応答発話を決定する。この際、対話における、ユーザ発話に省略された格要素を補完するか、又は焦点語をユーザ発話に追加する処理、ユーザ発話中の名詞句を類義語に置き換える処理、及び、ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理によりユーザ発話を書き換え、書き換える前のユーザ発話及び書き換えた後のユーザ発話の各々を発話パターンと照合する。【選択図】図１
2018181259.tif 000002
【特許請求の範囲】
【請求項１】
ユーザ発話を入力とし、発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、前記ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話ルール照合装置であって、
対話における、前記ユーザ発話に省略された格要素を補完するか、又は焦点語を前記ユーザ発話に追加する処理、前記ユーザ発話中の名詞句を類義語に置き換える処理、及び、前記ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理により前記ユーザ発話を書き換え、
書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々を前記発話パターンと照合する発話ルールマッチ部
を備えた対話ルール照合装置。
【請求項２】
前記発話ルールマッチ部は、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記少なくとも１つの処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定する
請求項１記載の対話ルール照合装置。
【請求項３】
発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話装置であって、
ユーザ発話を入力する入力部と、
前記ユーザ発話から名詞句及び焦点語を抽出し、抽出した前記名詞句及び前記焦点語を対話履歴記憶部に記憶させる焦点抽出部と、
前記対話履歴記憶部に記憶された前記名詞句及び前記焦点語の少なくとも一方に基づいて、前記ユーザ発話に省略された格要素を補完するか、又は前記焦点語を前記ユーザ発話に追加するゼロ代名詞補完部と、
前記ユーザ発話中の名詞句を類義語に置き換える類義語置換部と、
前記ユーザ発話を当該ユーザ発話のトピックに置き換えるトピック抽出部と、
前記ゼロ代名詞補完部による処理、前記類義語置換部による処理、及び前記トピック抽出部による処理の各々により書き換えられた後の前記ユーザ発話、及び、書き換えられる前の前記ユーザ発話の各々を前記発話パターンと照合することにより、前記ユーザ発話に対する前記応答発話を決定する発話ルールマッチ部と、
前記発話ルールマッチ部により決定された前記応答発話を出力する出力部と、
を含む対話装置。
【請求項４】
前記発話ルールマッチ部は、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記ゼロ代名詞補完部による処理、前記類義語置換部による処理、及び前記トピック抽出部による処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定する
請求項３記載の対話装置。
【請求項５】
発話ルールマッチ部を含み、ユーザ発話を入力とし、発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、前記ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話ルール照合装置における対話ルール照合方法であって、
前記発話ルールマッチ部が、対話における、前記ユーザ発話に省略された格要素を補完するか、又は焦点語を前記ユーザ発話に追加する処理、前記ユーザ発話中の名詞句を類義語に置き換える処理、及び、前記ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理により前記ユーザ発話を書き換えるステップと、
前記発話ルールマッチ部が、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々を前記発話パターンと照合するステップと、
を含む対話ルール照合方法。
【請求項６】
前記発話ルールマッチ部が、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記少なくとも１つの処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定するステップを更に含む
請求項５記載の対話方法。
【請求項７】
コンピュータを、請求項１又は２記載の対話ルール照合装置の各部として機能させるための対話ルール照合プログラム。
【請求項８】
コンピュータを、請求項３又は４記載の対話装置の各部として機能させるための対話プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ユーザ発話の書き換えを用いる対話ルール照合装置、対話装置、対話ルール照合方法、対話方法、対話ルール照合プログラム、及び対話プログラムに関する。
【背景技術】
【０００２】
対話システムにおいて、人間はコンピュータと対話をすることにより、種々の情報を得たり、要望を満たしたりする。また、所定のタスクを達成するだけではなく、日常会話を行う対話システムも存在し、これらによって、人間は精神的な安定を得たり、承認欲を満たしたり、信頼関係を築いたりする。
【０００３】
対話システムの類型については、非特許文献１に詳述されている。
【０００４】
商用システムにおいて最もよく利用されている対話システムの実装形態は、対話ルールを用いたものである。対話ルールとは、発話パターン（pattern）と応答発話（template）とからなる。この対話ルールを用いた対話システムでは、ユーザ発話が、例えば単語列のマッチングによって発話パターンにマッチした場合に、システムが当該発話パターンに対応する応答発話を用いて応答する。例えば、ＡＩＭＬ（Artificial Intelligence Markup Language）と呼ばれる、対話ルールを記述する言語で記述された対話ルールの一例を以下に示す。なお、発話パターンに含まれるアスタリスク「＊」は、どんな単語列にでもマッチする記号である。
【０００５】
<category>
<pattern>お酒 ＊ 飲め ＊ か</pattern>
<template>お酒好きです</template>
</category>
【０００６】
例えば、ユーザ発話が「お酒は飲めますか」であった場合、当該ユーザ発話が発話パターンを示す<pattern>の記述内容にマッチする。そのため、システムは、応答発話を示す<template>の記述内容である「お酒好きです」という発話を行う。
【０００７】
なお、ＡＩＭＬについては、非特許文献２に詳述されている。
【先行技術文献】
【非特許文献】
【０００８】
【非特許文献１】中野幹生，駒谷和範，船越孝太郎，中野有紀子，奥村学（監修）対話システム，コロナ社，2016.
【非特許文献２】WALLACE, Richard S. The anatomy of ALICE. In: Parsing the Turing Test. Springer Netherlands, 2009. pp. 181-210.
【発明の概要】
【発明が解決しようとする課題】
【０００９】
対話ルールを用いて応答処理を行う際、文脈を考慮していないために不具合が起こる場合がある。例えば、以下のようなルールがあったとする。
【００１０】
<category>
<pattern>かわい いです ね</pattern>
<template>ありがとうございます</template>
</category>
【００１１】
この対話ルールによれば、システムは、ユーザに「かわいいですね」と言われた時に「ありがとうございます」と答える。しかし、もし「かわいいですね」という発話の前に、ユーザとシステムとが「猫」の話題で話していたとする。その場合には、「かわいいですね」という発話はおそらく猫のことを言っており、「ありがとうございます」という応答は不適切なものになるだろう。
【００１２】
また、言語において、同じ内容について様々な言い方で発話することが可能である。例えば、相手がお酒が飲めるか確認する際に、「お酒は飲めますか」という表現だけでなく「アルコールは飲めますか？」といった表現も可能である。このように、ユーザ発話として想定し得る全ての言い方に対して応答できるような対話ルールを予め作っておくことは難しい。
【００１３】
さらに、ユーザ発話と対話ルールの発話パターンとを照合させる際に、単語が一致しなくても内容が大まかに一致していればマッチさせたい場合もある。その場合であっても、現状の対話ルールを用いた手法では、単語が一致しているか否かに基づいて、ユーザ発話と対話ルールの発話パターンとを照合させるため、単語が異なると内容が大まかに一致していてもマッチさせることができない。
【００１４】
本発明は、ユーザ発話に対する応答発話を対話ルールを用いて決定する際に、ユーザ発話と対話ルールとを適切に照合させることができる対話ルール照合装置、対話装置、対話ルール照合方法、対話方法、対話ルール照合プログラム、及び対話プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１５】
上記目的を達成するために、本発明の対話ルール照合装置は、ユーザ発話を入力とし、発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、前記ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話ルール照合装置であって、対話における、前記ユーザ発話に省略された格要素を補完するか、又は焦点語を前記ユーザ発話に追加する処理、前記ユーザ発話中の名詞句を類義語に置き換える処理、及び、前記ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理により前記ユーザ発話を書き換え、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々を前記発話パターンと照合する発話ルールマッチ部を含む。
【００１６】
なお、前記発話ルールマッチ部は、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記少なくとも１つの処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定するようにしても良い。
【００１７】
上記目的を達成するために、本発明の対話装置は、発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話装置であって、ユーザ発話を入力する入力部と、前記ユーザ発話から名詞句及び焦点語を抽出し、抽出した前記名詞句及び前記焦点語を対話履歴記憶部に記憶させる焦点抽出部と、前記対話履歴記憶部に記憶された前記名詞句及び前記焦点語の少なくとも一方に基づいて、前記ユーザ発話に省略された格要素を補完するか、又は前記焦点語を前記ユーザ発話に追加するゼロ代名詞補完部と、前記ユーザ発話中の名詞句を類義語に置き換える類義語置換部と、前記ユーザ発話を当該ユーザ発話のトピックに置き換えるトピック抽出部と、前記ゼロ代名詞補完部による処理、前記類義語置換部による処理、及び前記トピック抽出部による処理の各々により書き換えられた後の前記ユーザ発話、及び、書き換えられる前の前記ユーザ発話の各々を前記発話パターンと照合することにより、前記ユーザ発話に対する前記応答発話を決定する発話ルールマッチ部と、前記発話ルールマッチ部により決定された前記応答発話を出力する出力部と、を含む。
【００１８】
なお、前記発話ルールマッチ部は、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記ゼロ代名詞補完部による処理、前記類義語置換部による処理、及び前記トピック抽出部による処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定するようにしても良い。
【００１９】
上記目的を達成するために、本発明の対話ルール照合方法は、発話ルールマッチ部を含み、ユーザ発話を入力とし、発話パターン及び前記発話パターンの発話に対する応答発話の組からなる複数の対話ルールに基づいて、前記ユーザ発話と前記発話パターンとを照合することにより前記ユーザ発話に対する応答発話を決定する発話ルール照合装置における対話ルール照合方法であって、前記発話ルールマッチ部が、対話における、前記ユーザ発話に省略された格要素を補完するか、又は焦点語を前記ユーザ発話に追加する処理、前記ユーザ発話中の名詞句を類義語に置き換える処理、及び、前記ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理により前記ユーザ発話を書き換えるステップと、前記発話ルールマッチ部が、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々を前記発話パターンと照合するステップと、を含む。
【００２０】
なお、本発明の対話ルール照合方法は、前記発話ルールマッチ部が、書き換える前の前記ユーザ発話及び書き換えた後の前記ユーザ発話の各々と照合された前記発話パターンの各々との類似度を求め、前記少なくとも１つの処理の各々に対して予め定められた優先順位と、前記類似度とに基づいて、前記ユーザ発話に対する前記応答発話を決定するステップを更に含むようにしても良い。
【００２１】
上記目的を達成するために、本発明の対話ルール照合プログラムは、コンピュータを、上記対話ルール照合装置の各部として機能させるためのプログラムである。
【００２２】
上記目的を達成するために、本発明の対話プログラムは、コンピュータを、上記対話装置の各部として機能させるためのプログラムである。
【発明の効果】
【００２３】
本発明によれば、ユーザ発話に対する応答発話を対話ルールを用いて決定する際に、ユーザ発話と対話ルールとを適切に照合させることが可能となる。
【図面の簡単な説明】
【００２４】
【図１】実施形態に係る対話装置の機能的な構成を示すブロック図である。
【図２】実施形態に係る対話処理の流れを示すフローチャートである。
【図３】実施形態に係るゼロ代名詞補完処理のサブルーチンの流れを示すフローチャートである。
【発明を実施するための形態】
【００２５】
以下、本実施形態について図面を用いて説明する。
【００２６】
図１は、本実施形態に係る対話装置１０の機能的な構成を示すブロック図である。図１に示すように、本実施形態に係る対話装置１０は、入力部１２、焦点抽出部１４、対話履歴記憶部１６、ゼロ代名詞補完部１８、類義語置換部２０、トピック抽出部２２、対話ルール記憶部２４、発話ルールマッチ部２６、及び、出力部２８を備えている。
【００２７】
入力部１２は、ユーザ発話を受け付ける。ユーザ発話は、ユーザによりテキストとして入力された発話でも良く、ユーザ発話の音声が音声認識を用いてテキストに変換された発話であっても良い。入力部１２は、入力したユーザ発話を、ゼロ代名詞補完部１８、類義語置換部２０、及びトピック抽出部２２に出力させると共に、対話履歴記憶部１６に記憶させる。
【００２８】
焦点抽出部１４は、ユーザ発話に含まれる焦点語を抽出する。焦点語とは、ユーザ発話に含まれる話題を表す単語列（主に名詞句）である。例えば、ユーザ発話が「昨日ラーメンを食べたんですよ」であれば、「ラーメン」が焦点語になる。本実施形態では、条件付き確率場（Conditional Random Fields，ＣＲＦ）と呼ばれる機械学習の手法を用いて、焦点抽出器を学習し、学習した焦点抽出器を用いて焦点語を抽出する。ＣＲＦとは、所定の系列に対してラベルを付与した学習データがある場合に、学習データから、未知の系列についてラベルを付与することができる推定器を得る一般的な学習手法である。ＣＲＦについては、下記非特許文献３に記載されている。
【００２９】
［非特許文献３］言語処理のための機械学習入門（自然言語処理シリーズ），高村大也（著），奥村学（監修），コロナ社，2010.
【００３０】
本実施形態では、「昨日/<center>ラーメン</center>/を/食べ/た/ん/です/よ」、「<center>イギリス</center>/が/好き/です」といった、発話について焦点語となる箇所に、焦点語であることを意味する<center></center>というタグを付与したデータを大量に準備し、これらのデータから、ＣＲＦを用いて、焦点語抽出器を学習する。
【００３１】
なお、上記データにおいてスラッシュは形態素の区切りを示すが、これらの形態素の区切りは、形態素解析器を用いて得ることができる。本実施形態では、下記非特許文献４に開示されているＪＴＡＧという形態素解析器を用いている。また、ＣＲＦの学習に用いる素性テンプレートには、単語の表層形、品詞、及び終止形を含むが、意味情報（例えば、日本語語彙大系から得られる一般名詞属性）等を用いても良い。
【００３２】
［非特許文献４］T. Fuchi and S. Takagi, "Japanese Morphological Analyzer using Word Cooccurrence-JTAG", Proc. of COLING-ACL, pp. 409-413, 1998.
【００３３】
このように、学習された焦点抽出器によれば、例えば「私はコーヒーが好きなんです」とのユーザ発話から、「コーヒー」が焦点語として抽出される。
【００３４】
また、焦点抽出部１４は、形態素解析の結果を用いて、ユーザ発話から名詞句も抽出する。本実施形態では、名詞句として名詞連続（品詞が名詞の単語を連結したもの）を抽出する。
【００３５】
焦点抽出部１４は、抽出した名詞句及び焦点語を、対話履歴記憶部１６に記憶させる。一つのユーザ発話から、複数の名詞句及び焦点語が抽出されることもある。また、名詞句と焦点語とが同じである場合もある。
【００３６】
対話履歴記憶部１６は、対話履歴として、過去のユーザ発話、及び過去のユーザ発話から抽出された名詞句及び焦点語を、発話番号と併せて記憶している。発話番号は、各々のユーザ発話を識別するための番号であり、ユーザ発話が入力される度にインクリメントされる連続した発話番号が、各々のユーザ発話に付与される。
【００３７】
ゼロ代名詞補完部１８は、入力したユーザ発話について照応解析を行い、対話における、ユーザ発話に省略された格要素を補完することにより、ゼロ代名詞を解消する。ゼロ代名詞とは、省略された格要素である。例えば、「猫」を話題にしている時に発話された「かわいいですね」というユーザ発話には、「猫が」もしくは「猫は」という格要素（及び格助詞（又は係助詞））が省略されている。本実施形態では、日本語のゼロ代名詞解消技術として、下記非特許文献５に開示されている技術を用いる。
【００３８】
［非特許文献５］今村賢治，東中竜一郎，泉朋子，“対話解析のためのゼロ代名詞照応解析付き述語項構造解析”，自然言語処理，Vol.22, No.1, pp.3-26, 2015.
【００３９】
当該技術では、ユーザ発話中の述語（動詞、形容詞、ダ文等）について、必須格辞書を参照し、述語に必須格が欠けていると認められる場合、その格要素を対話履歴中の名詞句及び焦点語の中から探索する。探索の仕方は、学習データに基づいて統計的に決定する。
【００４０】
本実施形態では、入力したユーザ発話に含まれる述語の各々について、ガ格、ヲ格、ニ格、デ格、ト格、カラ格、及びマデ格の格について、必須格辞書に基づき省略が認められれば、その格要素を抽出する。上記非特許文献５では、ガ格、ヲ格、及びニ格を扱っているが、当該技術に加え、その他の格要素については、別途準備した格フレーム辞書を用いて格要素を抽出する。具体的には、述語と格とに統計的に有意に共起する名詞句を予めテキストコーパスを用いて列挙しておき、対話履歴中の名詞句又は焦点語に、列挙された名詞句と一致するものがあれば、一致する名詞句を省略された格要素として抽出する。
【００４１】
例えば、「食べる」という述語について「デ格」と有意に共起する名詞句として、「家」、「コンビニ」、「レストラン」等があるとする。もし、「食べる」という述語について省略された「デ格」の格要素を抽出したい場合、文脈中の名詞句又は焦点語に「コンビニ」があれば、「コンビニ」を省略された要素として抽出する。
【００４２】
また、ゼロ代名詞補完部１８は、ユーザ発話に省略された格要素を補完しない場合であって、ユーザ発話に焦点語が含まれていない場合に、焦点語をユーザ発話に追加する。
【００４３】
さて、ゼロ代名詞補完部１８は、ユーザ発話について以下の手順で、ゼロ代名詞を補完するか、あるいは焦点語を追加した新しいユーザ発話を生成する。
【００４４】
IF ユーザ発話中に焦点語が存在しない
IF ユーザ発話中にゼロ代名詞（省略された格要素）が存在する
FOR 省略された格要素のそれぞれについて
IF 省略された格要素が「I」、「YOU」、及び「exog」の何れかではない
（書き換え１）当該発話の先頭に、省略された格要素と格助詞を連結した文字列を追加
IF 対話履歴から得られる焦点語が存在する
IF 書き換え１が実施されておらず、かつ、焦点語がユーザ発話に含まれていない
（書き換え２）ユーザ発話の先頭に焦点語と「は」とを連結した文字列を追加
【００４５】
ただし、「Ｉ」、「ＹＯＵ」、及び「ｅｘｏｇ」は、特殊な照応先で、それぞれ、一人称（「私」が省略されている場合）、二人称（「あなた」が省略されている場合）、外界照応（文脈中には存在しない対象が省略されている場合）を指す。対話履歴から得られる焦点語とは、対話履歴に最後に追加された焦点語のことである。すなわち、これまでの対話における、最新の話題を表すものである。
【００４６】
上述した手順によれば、対話履歴として「イタリアに行きました」というユーザ発話が記憶されている場合に、「いいですね」というユーザ発話が、「イタリアはいいですね」に書き換えられる。また、対話履歴として「ラーメンを食べました」というユーザ発話が記憶されている場合に、「美味しいですよね」というユーザ発話が、「ラーメンが美味しいですよね」に書き換えられる。
【００４７】
なお、上述した、ゼロ代名詞補完部１８が行う、対話履歴記憶部１６に記憶された名詞句及び焦点語の少なくとも一方に基づいて、ユーザ発話に対してゼロ代名詞を補完するか、あるいは焦点語を追加した新しいユーザ発話を生成するゼロ代名詞補完処理については、図３に示すフローチャートを用いて、より具体的に後述する。
【００４８】
ゼロ代名詞補完部１８は、このようにして書き換えたユーザ発話を、書き換え前のユーザ発話と併せて発話ルールマッチ部２６に出力する。
【００４９】
類義語置換部２０は、入力したユーザ発話中の名詞句について、類義語辞書を参照し、もし類義語があれば、名詞句をその類義語で置き換えた発話文を作成する。例えば、類義語辞書に「お酒」の類義語として「アルコール」があるとする。その場合、「お酒が好きです」というユーザ発話が入力した際に、「アルコールが好きです」というユーザ発話を生成する。複数の名詞句に書き換え候補とする類義語がある場合、何れかの名詞句に書き換え候補とする類義語が複数ある場合等には、各々の名詞句を各々の類義語で書き換えた全ての発話文を列挙しても良いし、一部の名詞句のみを類義語で書き換えた発話文を生成しても良く、全ての名詞句を一部の類義語のみで書き換えた発話文を生成しても良い。
【００５０】
名詞句を類義語で置き換えることにより多くの発話文を生成すると、後段の発話ルールマッチ部２６においてユーザ発話と対話ルールの発話パターンとをマッチングさせる際に時間がかかる。そのため、本実施形態では、ユーザ発話中の複数の名詞句のうち、類義語で書き換え可能な名詞句の１つ（例えば、先頭の名詞句）について、１つの類義語で書き換えるものとする。
【００５１】
類義語置換部２０は、このようにして書き換えたユーザ発話を、書き換え前のユーザ発話と併せて発話ルールマッチ部２６に出力する。
【００５２】
トピック抽出部２２は、入力したユーザ発話に対して、そのユーザ発話のトピック（話題）を表す文字列を取得する。具体的には、まず、ユーザ発話を機械学習の手法を用い複数のクラスに分類する。クラスとは、例えば「スポーツ」、「料理」、「美容」等である。本実施形態では、全部で４０程度のクラスが用いられ、分類器を予め学習しておく。分類器を学習する際には、多数のユーザ発話を準備し、各々のユーザ発話に対して正解クラスをラベルとして付与し、ユーザ発話を入力した際にそのユーザ発話をこれらの何れかのクラスに分類する分類器を学習する。
【００５３】
ユーザ発話を何れかのクラスに分類する分類方法としては、一般的なテキスト分類手法を用いることができる。例えば、自然言語の発話から形態素解析を経て得られる単語ｎ−ｇｒａｍを特徴量として、学習データに基づき（すなわち、複数の発話のそれぞれについて、クラスがラベル付されたデータ）、機械学習の手法を用いて、分類器を学習すれば良い。学習アルゴリズムとしては、ロジスティック回帰、サポートベクトルマシン、深層学習による手法等が挙げられる。テキスト分類手法の一般的なアルゴリズムについては、上記非特許文献３に開示されている。また、深層学習による手法については、下記非特許文献６に開示されている。
【００５４】
［非特許文献６］Yoon Kim，"Convolutional Neural Networks for Sentence Classification", Proceedings of the 2014 Conference on Empirical Methods in Natural Language Processing (EMNLP), pp.1746-1751, 2014.
【００５５】
トピック抽出部２２は、ユーザ発話を分類したクラスのクラス名（例えば、「スポーツ」、「料理」等）を書き換え後のユーザ発話として、書き換え前のユーザ発話と併せて発話ルールマッチ部２６に出力する。
【００５６】
対話ルール記憶部２４は、発話パターン及び発話パターンの発話に対する応答発話の組からなる複数の対話ルールを示すデータを記憶している。対話ルールは、上述したＡＩＭＬ形式で記述された対話ルールの集合である。本実施形態では、数万個の対話ルールが作成され、対話ルール記憶部２４に記憶されている。
【００５７】
発話ルールマッチ部２６は、ゼロ代名詞補完部１８による処理、類義語置換部２０による処理、及びトピック抽出部２２による処理の各々により書き換えた後のユーザ発話の各々、及び、書き換える前のユーザ発話を発話パターンと照合する。照合方法としては、例えば、上記非特許文献２に示されるような前方一致によるものを用いればよい。
【００５８】
本実施形態では、対話ルール記憶部２４に記憶されている複数の対話ルールの発話パターンの各々に対し、発話パターンにおいて記述されているアスタリスク「＊」以外からなる単語集合と、ユーザ発話を形態素分解して得られる単語集合とを、それぞれ単語ベクトルで表現し、ＴＦ−ＩＤＦ（Term Frequency-Inverse Document Frequency）による重み付けを行った上で、単語ベクトル間のコサイン類似度を計算し、コサイン類似度が最も高い発話パターンに対応する応答発話を出力する。ＴＦ−ＩＤＦの重みは、大量の対話データ、新聞記事等を用いることにより計算される。
【００５９】
ここで、書き換え前のユーザ発話をＵ１とし、ゼロ代名詞補完部１８による処理により書き換えられたユーザ発話をＵ２とし、類義語置換部２０による処理により書き換えられたユーザ発話をＵ３とし、トピック抽出部２２による処理により書き換えられたユーザ発話をＵ４とする。この場合、Ｕ１、Ｕ２、Ｕ３、Ｕ４のそれぞれを、対話ルール記憶部２４に記憶されている複数の対話ルールの発話パターンと照合し、照合結果に基づいてシステムの応答発話を決定する。
【００６０】
Ｕ１、Ｕ２、Ｕ３、Ｕ４のそれぞれについて得られるコサイン類似度をｃｏｓ（Ｕ１）、ｃｏｓ（Ｕ２）、ｃｏｓ（Ｕ３）、ｃｏｓ（Ｕ４）とした場合、システムはコサイン類似度が最も高い発話パターンの応答発話を、ユーザ発話に対する応答発話として決定し、決定した応答発話を出力部２８に出力する。
【００６１】
又は、ゼロ代名詞補完部１８による処理、類義語置換部２０による処理、及びトピック抽出部２２による処理の各々に対して予め定められた優先順位と、コサイン類似度とに基づいて、ユーザ発話に対する応答発話を決定しても良い。例えば、書き換え前、ゼロ代名詞補完部１８による処理、類義語置換部２０による処理、及びトピック抽出部２２による処理の順に優先順位が定められている場合には、ｃｏｓ（Ｕ１）が所定の閾値（例えば、０．８）を超えていたらＵ１を出力し、そうでない場合、ｃｏｓ（Ｕ２）が所定の閾値を超えているか確認する。また、ｃｏｓ（Ｕ２）が所定の閾値を超えている場合、Ｕ２を出力し、そうでない場合、ｃｏｓ（Ｕ３）が所定の閾値を超えているか確認する。また、ｃｏｓ（Ｕ３）が所定の閾値を超えている場合、Ｕ３を出力し、そうでない場合、Ｕ４を出力する、といった具合である。
【００６２】
なお、類似度の計算方法としては、コサイン類似度を用いる方法に限らず、集合同士の類似度として一般的なＪａｃｃａｒｄ係数を用いる方法等、発話パターンに含まれる単語集合とユーザ発話に含まれる単語集合との類似度を計算することができる方法であれば何れの方法を用いても良い。
【００６３】
出力部２８は、発話ルールマッチ部２６によって決定された応答発話を、システム発話として出力する。出力方法としては、応答発話を示すデータをディスプレイ等の表示手段に表示させたり、応答発話を示すデータを外部装置に送信したり、応答発話を示す音声を音声出力手段により出力させたりする方法が挙げられる。
【００６４】
なお、本実施形態に係る対話装置１０は、例えば、ＣＰＵ（Central Processing Unit）、ＲＡＭ（Random Access Memory）、各種プログラムを記憶するＲＯＭ（Read Only Memory）を備えたコンピュータ装置で構成される。また、対話装置１０を構成するコンピュータは、ハードディスクドライブ、不揮発性メモリ等の記憶部を備えていても良い。本実施形態では、ＣＰＵがＲＯＭ、ハードディスク等の記憶部に記憶されているプログラムを読み出して実行することにより、上記のハードウェア資源とプログラムとが協働し、上述した機能が実現される。
【００６５】
次に、本実施形態に係る対話装置１０による対話処理の流れを、図２に示すフローチャートを用いて説明する。本実施形態では、対話装置１０に、対話処理の実行を開始するための予め定めたデータが入力されたタイミングで対話処理が開始されるが、対話処理が開始されるタイミングはこれに限らず、例えば、ユーザ発話が入力されたタイミングで対話処理が開始されても良い。
【００６６】
ステップＳ１０１では、入力部１２が、ユーザ発話を入力する。
【００６７】
ステップＳ１０３では、焦点抽出部１４が、入力したユーザ発話から名詞句及び焦点語を抽出する。
【００６８】
ステップＳ１０５では、焦点抽出部１４が、入力したユーザ発話と、当該ユーザ発話から抽出した名詞句及び焦点語とを、対話履歴記憶部１６に記憶させる。
【００６９】
ステップＳ１０７では、ゼロ代名詞補完部１８が、上述したゼロ代名詞補完処理を行う。
【００７０】
ここで、ゼロ代名詞補完部１８によるゼロ代名詞補完処理の流れを、図３に示すフローチャートを用いて説明する。
【００７１】
ステップＳ２０１では、ゼロ代名詞補完部１８が、入力したユーザ発話を取得する。
【００７２】
ステップＳ２０３では、ゼロ代名詞補完部１８が、ユーザ発話に焦点語が存在するか否かを判定する。ステップＳ２０３でユーザ発話に焦点語が存在すると判定した場合（Ｓ２０３，Ｙ）は、本ゼロ代名詞補完処理のプログラムの実行を終了し、図２のステップＳ１０９に移行する。また、ステップＳ２０３でユーザ発話に焦点語が存在しないと判定した場合（Ｓ２０３，Ｎ）はステップＳ２０５に移行する。
【００７３】
ステップＳ２０５では、ゼロ代名詞補完部１８が、ユーザ発話にゼロ代名詞が存在するか否かを判定する。ステップＳ２０５でユーザ発話にゼロ代名詞が存在すると判定した場合（Ｓ２０５，Ｙ）は、ステップＳ２０７に移行する。また、ステップＳ２０５でユーザ発話にゼロ代名詞が存在しないと判定した場合（Ｓ２０５，Ｎ）はステップＳ２１５に移行する。
【００７４】
ステップＳ２０７では、ゼロ代名詞補完部１８が、ユーザ発話から、１つの省略された格要素を選択する。
【００７５】
ステップＳ２０９では、ゼロ代名詞補完部１８が、ステップＳ２０７で選択された格要素が「Ｉ」、「ＹＯＵ」、及び「ｅｘｏｇ」の何れかであるか否かを判定する。ステップＳ２０９で、ステップＳ２０７で選択された格要素が「Ｉ」、「ＹＯＵ」、及び「ｅｘｏｇ」の何れかであると判定した場合（Ｓ２０９，Ｙ）は、ステップＳ２１３に移行する。また、ステップＳ２０９で、ステップＳ２０７で選択された格要素が「Ｉ」、「ＹＯＵ」、及び「ｅｘｏｇ」の何れかでないと判定した場合（Ｓ２０９，Ｎ）はステップＳ２１１に移行する。
【００７６】
ステップＳ２１１では、ゼロ代名詞補完部１８が、ユーザ発話の先頭に、格要素と格助詞とを連結した文字列を追加する。
【００７７】
ステップＳ２１３では、ゼロ代名詞補完部１８が、未処理の格要素、すなわちステップＳ２０７乃至Ｓ２１１の処理を行っていない格要素が存在するか否かを判定する。ステップＳ２１３で未処理の格要素が存在すると判定した場合（Ｓ２１３，Ｙ）は、ステップＳ２０７に戻って、未処理の格要素を選択する。また、ステップＳ２１３で未処理の格要素が存在しないと判定した場合（Ｓ２１３，Ｎ）はステップＳ２１５に移行する。
【００７８】
ステップＳ２１５では、ゼロ代名詞補完部１８が、上述した、対話履歴から得られる焦点語が存在するか否かを判定する。ステップＳ２１５で対話履歴から得られる焦点語が存在すると判定した場合（Ｓ２１５，Ｙ）は、ステップＳ２１７に移行する。また、ステップＳ２１５で対話履歴から得られる焦点語が存在しないと判定した場合（Ｓ２１５，Ｎ）は、本ゼロ代名詞補完処理のプログラムの実行を終了し、図２のステップＳ１０９に移行する。
【００７９】
ステップＳ２１７では、ゼロ代名詞補完部１８が、ゼロ代名詞の補完（上記ステップＳ２１１の処理）が行われておらず、かつ焦点語がユーザ発話に含まれていないか否かを判定する。ステップＳ２１７でゼロ代名詞の補完が行われておらず、かつ焦点語がユーザ発話に含まれていないと判定した場合（Ｓ２１７，Ｙ）は、ステップＳ２１９に移行する。また、ステップＳ２１７でゼロ代名詞の補完が行われた、又は焦点語がユーザ発話に含まれていると判定した場合（Ｓ２１７，Ｎ）は、本ゼロ代名詞補完処理のプログラムの実行を終了し、図２のステップＳ１０９に移行する。
【００８０】
ステップＳ２１９では、ゼロ代名詞補完部１８が、ユーザ発話の先頭に、焦点語と「は」とを連結した文字列を追加し、図２のステップＳ１０９に移行する。
【００８１】
図２のステップＳ１０９では、類義語置換部２０が、入力したユーザ発話中の名詞句を類義語に置き換える。
【００８２】
ステップＳ１１１では、トピック抽出部２２が、入力したユーザ発話を当該ユーザ発話のトピックに置き換える。
【００８３】
ステップＳ１１３では、発話ルールマッチ部２６が、ゼロ代名詞補完部１８による処理、類義語置換部２０による処理、及びトピック抽出部２２による処理の各々によりユーザ発話を書き換えられた後のユーザ発話、及び、書き換えられる前のユーザ発話の各々を、対話ルールの発話パターンと照合することにより、ユーザ発話に対する応答発話を決定する。
【００８４】
ステップＳ１１５では、出力部２８が、決定された応答発話を出力し、本対話処理のプログラムの実行を終了する。
【００８５】
このように、本実施形態では、対話における、ユーザ発話に省略された格要素を補完するか、又は焦点語をユーザ発話に追加する処理、ユーザ発話中の名詞句を類義語に置き換える処理、及び、ユーザ発話を当該ユーザ発話のトピックに置き換える処理の少なくとも１つの処理により前記ユーザ発話を書き換え、書き換える前のユーザ発話及び書き換えた後のユーザ発話の各々を発話パターンと照合することにより、ユーザ発話に対する応答発話を決定する。
【００８６】
これにより、事業者にとって有用な対話ルールのみを用いた発話応答を実現することができる。そして、対話システムを用いた事業の実現性が高まり、人間とコンピュータが効率的に協業することができる。
【００８７】
なお、本実施形態では、図１に示す機能の構成要素の動作をプログラムとして構築し、対話装置１０として利用されるコンピュータにインストールして実行させるが、これに限らず、ネットワークを介して流通させても良い。
【００８８】
また、構築されたプログラムをハードディスク、ＣＤ−ＲＯＭ等の可搬記憶媒体に格納し、コンピュータにインストールしたり、配布したりしても良い。
【符号の説明】
【００８９】
１０  対話装置
１２  入力部
１４  焦点抽出部
１６  対話履歴記憶部
１８  ゼロ代名詞補完部
２０  類義語置換部
２２  トピック抽出部
２４  対話ルール記憶部
２６  発話ルールマッチ部
２８  出力部
【図１】
2018181259.tif 000003
【図２】
2018181259.tif 000004
【図３】
2018181259.tif 000005