(57)【要約】【課題】発話文として適格な文であるか否かを判定するモデルを高精度に学習することができる。【解決手段】係り受け解析部４０により、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている入力文の各々について、入力文に含まれる各単語に対応して単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで単語ノード間を結んだ木構造であって、単語ノードの各々について、単語の表記を表すノード、単語の標準表記を表すノード、及び単語の終止形を表すノードの少なくとも１つを単語ノードの子ノードとして追加した木構造を作成し、モデル学習部５０により、作成された木構造から得られる複数の部分木と、入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習する。【選択図】図１
2015132876.tif 000002
【特許請求の範囲】
【請求項１】
発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている形態素解析済みの入力文の各々について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成する係り受け解析部と、
前記係り受け解析部において前記入力文の各々について作成された前記木構造から得られる複数の部分木と、前記入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、前記木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習するモデル学習部と、
を含むモデル学習装置。
【請求項２】
前記係り受け解析部は、前記単語ノードの各々について、前記単語ノードに対応する単語の意味情報を表すノード、及び前記単語ノードに対応する単語の必須格を表すノードの少なくとも一方を前記単語ノードの子ノードとして更に追加した前記木構造を作成する請求項１記載のモデル学習装置。
【請求項３】
形態素解析済みの入力文について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成する係り受け解析部と、
前記係り受け解析部において作成された前記木構造から得られる複数の部分木と、前記木構造に対応する文が、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、前記入力文が発話文として適格な文である度合いを表すスコアを算出するモデル適用部と、
前記モデル適用部において算出されたスコアに基づいて、前記入力文が発話文として適格な文か否かを判定し、発話文として適格な文であると判定された前記入力文を出力するフィルタ部と、
を含む、フィルタ装置。
【請求項４】
前記係り受け解析部は、前記単語ノードの各々について、前記単語ノードに対応する単語の意味情報を表すノード、及び前記単語ノードに対応する単語の必須格を表すノードの少なくとも一方を前記単語ノードの子ノードとして更に追加した前記木構造を作成する請求項３記載のフィルタ装置。
【請求項５】
係り受け解析部と、モデル学習部と、を含むモデル学習装置におけるモデル学習方法であって、
前記係り受け解析部は、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている形態素解析済みの入力文の各々について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成し、
前記モデル学習部は、前記係り受け解析部において前記入力文の各々について作成された前記木構造から得られる複数の部分木と、前記入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、前記木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習する
モデル学習方法。
【請求項６】
係り受け解析部と、モデル適用部と、フィルタ部と、を含むフィルタ装置におけるフィルタ方法であって、
前記係り受け解析部は、形態素解析済みの入力文について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成し、
前記モデル適用部は、前記係り受け解析部において作成された前記木構造から得られる複数の部分木と、前記木構造に対応する文が、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、前記入力文が発話文として適格な文である度合いを表すスコアを算出し、
前記フィルタ部は、前記モデル適用部において算出されたスコアに基づいて、前記入力文が発話文として適格な文か否かを判定し、発話文として適格な文であると判定された前記入力文を出力する
フィルタ方法。
【請求項７】
コンピュータを、請求項１又は請求項２に記載のモデル学習装置を構成する各部として機能させるためのプログラム。
【請求項８】
コンピュータを、請求項３又は請求項４記載のフィルタ装置を構成する各部として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、モデル学習装置、フィルタ装置、方法、及びプログラムに係り、特に、入力文が発話文として適格であるか否か判定するためのモデル学習装置、フィルタ装置、方法、及びプログラムに関する。
【背景技術】
【０００２】
対話システムは大きく分けて二種類あり、タスク指向型対話システムと非タスク指向型対話システムに分けられる。前者は特定のタスクをシステムとの対話により達成するものであり、例えば、フライトの予約システムや天気情報検索システムに用いられている。これらのシステムでは、予め話される内容が想定できるため、手作業で作り込んだ発話のデータベースを保持したり、データベースから抽出される天気情報などを手作業によるテンプレートに当てはめてシステムは発話を生成する（非特許文献１）。
【０００３】
非タスク指向型対話システムでは、目的のない対話を扱い、対話の内容はいわゆる雑談である。雑談はさまざまな話題が話されるため、予め話される内容は想定できない。そのため発話生成は非常に難しい課題である。ユーザの幅広い入力に対応するために、近年の技術では、ウェブやツイッター（登録商標）などの文章をデータベース化しておき、ユーザ発話に類似するものを選択することでシステム発話とするものがある（非特許文献２、非特許文献３）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】Ryuichiro Higashinaka, Katsuhito Sudoh, Mikio Nakano, ″Incorporating Discourse Features into Confidence Scoring of Intention Recognition Results in Spoken Dialogue Systems″, Speech Communication, Volume 48, Issues 3-4, pp.417-436,2006.
【非特許文献２】Shibata, M., Nishiguchi, T., and Tomiura, Y. (2009). ″Dialog system for open-ended conversation using web documents. ″ Infomatica, 33 (3), pp. 277-284.
【非特許文献３】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.
【発明の概要】
【発明が解決しようとする課題】
【０００５】
非タスク指向型対話システムにおいて、ウェブやツイッター（登録商標）などの文を抽出し、システム発話として用いる場合、発話として問題が生じる場合がある。例えば、文脈に依存した文を抽出して、システム発話として突然ユーザに伝えるとその文脈を共有していないユーザにとっては、意味が理解できない。たとえば、「行くと楽しいですよね」という文を抽出して、これをシステムがユーザに伝えても、場所の情報が共有されていなければ、どこに行くのか分からないため、ユーザはこの文を理解できない。
【０００６】
また、物事の説明としてよくある体言止めの文を抽出して、システム発話として用いる場合にも、「何がどうした」という基本的な内容が備わっていないため、ユーザにとっては意味が取りにくいという問題がある。例えば、「あっさり味のラーメン」とシステムが発話したとしても、「あっさり味のラーメン」がどうしたのかが分からないため、ユーザにとっては理解しにくい。
【０００７】
「行くと楽しいですよね」という文では目的語である「どこに」という情報が欠けている。すなわち必要な文法的要素が足りない。「あっさり味のラーメン」では、「何がどうした」の「どうした」の要素が欠けている。どちらも文法的に必要的な要素が欠けているということが問題となる。
【０００８】
このような文を検知して、システム発話候補からフィルタできればよいが、このような文を自動的に検知することはなかなか難しいという問題がある。なぜなら、ウェブ、特に、ツイッター（登録商標）における文は、格助詞の省略など、書き言葉の文法に則っていないことが多いため、文法的な解析が適切にできないことが多く、そのため、どの文法的要素が欠けているのかを検出しにくい。
【０００９】
加えて、そもそも必要な文法的要素を満たしているかという判断自体も困難である場合が多いという問題がある。なぜなら、動詞はその使われる状況によって必要となる文法的要素が異なるからである。「食べないと生きていけない」であれば「食べる」に目的語は必要ないが「食べに行きたいな」であれば目的語がないと意味が理解できない。「新宿駅が混みすぎて迷子」は体言で終わる名詞句の文であるが、「何がどうした」という意味内容は適切に含まれおり、発話として問題はない。
【００１０】
本発明では、上記問題点を解決するために成されたものであり、発話文として適格な文であるか否かを高精度に判定するモデルを学習することができるモデル学習装置、方法、及びプログラムを提供することを目的とする。
【００１１】
また、発話文として適格な文であるか否かを高精度に判定し、発話文として適格な文と判定された文を出力することができるフィルタ装置、方法、及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記目的を達成するために、第１の発明に係るモデル学習装置は、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている形態素解析済みの入力文の各々について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成する係り受け解析部と、前記係り受け解析部において前記入力文の各々について作成された前記木構造から得られる複数の部分木と、前記入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、前記木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習するモデル学習部と、を含んで構成されている。
【００１３】
第２の発明に係るモデル学習方法は、係り受け解析部と、モデル学習部と、を含むモデル学習装置におけるモデル学習方法であって、前記係り受け解析部は、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている形態素解析済みの入力文の各々について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成し、前記モデル学習部は、前記係り受け解析部において前記入力文の各々について作成された前記木構造から得られる複数の部分木と、前記入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、前記木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習する。
【００１４】
第１及び第２の発明によれば、係り受け解析部により、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている形態素解析済みの入力文の各々について、係り受け解析を行い、木構造を作成し、モデル学習部により、入力文の各々について作成された木構造から得られる複数の部分木と、入力文の各々に付加されている正例の情報又は負例の情報とに基づいて、木構造に対応する文が、発話文として適格な文であるか否かを判定するモデルを学習する。
【００１５】
このように、発話文として適格であることを示す正例の情報又は発話文として適格でないことを示す負例の情報が付加されている入力文の各々について、木構造を作成し、作成された木構造から得られる複数の部分木と、正例の情報又は負例の情報とに基づいて、木構造に対応する文が、発話文として適格な文であるか否かを高精度に判定するモデルを学習することができる。
【００１６】
また、第１の発明に係るモデル学習装置において、前記係り受け解析部は、前記単語ノードの各々について、前記単語ノードに対応する単語の意味情報を表すノード、及び前記単語ノードに対応する単語の必須格を表すノードの少なくとも一方を前記単語ノードの子ノードとして更に追加した前記木構造を作成してもよい。
【００１７】
第３の発明に係るフィルタ装置は、形態素解析済みの入力文について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成する係り受け解析部と、前記係り受け解析部において作成された前記木構造から得られる複数の部分木と、前記木構造に対応する文が、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、前記入力文が発話文として適格な文である度合いを表すスコアを算出するモデル適用部と、前記モデル適用部において算出されたスコアに基づいて、前記入力文が発話文として適格な文か否かを判定し、発話文として適格な文であると判定された前記入力文を出力するフィルタ部と、を含んで構成されている。
【００１８】
第４の発明に係るフィルタ方法は、係り受け解析部と、モデル適用部と、フィルタ部と、を含むフィルタ装置におけるフィルタ方法であって、前記係り受け解析部は、形態素解析済みの入力文について、係り受け解析を行い、前記入力文に含まれる各単語に対応して前記単語の品詞を表す各単語ノードを含み、単語の係り受け関係に応じたエッジで前記単語ノード間を結んだ木構造であって、前記単語ノードの各々について、前記単語ノードに対応する単語の表記を表すノード、前記単語ノードに対応する単語の標準表記を表すノード、及び前記単語ノードに対応する単語の終止形を表すノードの少なくとも１つを前記単語ノードの子ノードとして追加した前記木構造を作成し、前記モデル適用部は、前記係り受け解析部において作成された前記木構造から得られる複数の部分木と、前記木構造に対応する文が、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、前記入力文が発話文として適格な文である度合いを表すスコアを算出し、前記フィルタ部は、前記モデル適用部において算出されたスコアに基づいて、前記入力文が発話文として適格な文か否かを判定し、発話文として適格な文であると判定された前記入力文を出力する。
【００１９】
第３及び第４の発明によれば、係り受け解析部により、形態素解析済みの入力文について、係り受け解析を行い、木構造を作成し、モデル適用部により、作成された木構造から得られる複数の部分木と、木構造に対応する文が、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、入力文が発話文として適格な文である度合いを表すスコアを算出し、フィルタ部により、算出されたスコアに基づいて、入力文が発話文として適格な文か否かを判定し、発話文として適格な文であると判定された入力文を出力する。
【００２０】
このように、入力文について木構造を作成し、作成された木構造から得られる複数の部分木と、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、スコアを算出し、算出されたスコアに基づいて、入力文が発話文として適格な文か判定することにより、発話文として適格な文であるか否かを高精度に判定し、発話文として適格な文であると判定された入力文を出力することができる。
【００２１】
また、第３の発明に係るフィルタ装置において、前記係り受け解析部は、前記単語ノードの各々について、前記単語ノードに対応する単語の意味情報を表すノード、及び前記単語ノードに対応する単語の必須格を表すノードの少なくとも一方を前記単語ノードの子ノードとして更に追加した前記木構造を作成してもよい。
【００２２】
また、本発明のプログラムは、コンピュータを、上記のモデル学習装置を構成する各部として機能させるためのプログラムである。
【００２３】
また、本発明のプログラムは、コンピュータを、上記のフィルタ装置を構成する各部として機能させるためのプログラムである。
【発明の効果】
【００２４】
以上説明したように、本発明のモデル学習装置、方法、及びプログラムによれば、正例又は負例の情報が付加されている入力文の各々について、木構造を作成し、作成された木構造から得られる複数の部分木と、正例又は負例の情報とに基づいて、木構造に対応する文が、発話文として適格な文であるか否かを高精度に判定するモデルを学習することができる。
【００２５】
また、本発明のフィルタ装置、方法、及びプログラムによれば、入力文について木構造を作成し、作成された木構造から得られる複数の部分木と、発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、スコアを算出し、算出されたスコアに基づいて、入力文が発話文として適格な文か判定することにより、発話文として適格な文であるか否かを高精度に判定し、発話文として適格な文であると判定された入力文を出力することができる。
【図面の簡単な説明】
【００２６】
【図１】本発明の実施の形態に係るモデル学習装置の機能的構成を示すブロック図である。
【図２】ＪＤＥＰによる解析結果の例を示す図である。
【図３】文節間の依存構造の例を示す図である。
【図４】単語間の係り受け構造に変換された木構造の例を示す図である。
【図５】品詞ノードを中心として構築した木構造の例を示す図である。
【図６】意味属性と必須格の情報を追加した木構造の例を示す図である。
【図７】学習データの例を示す図である。
【図８】学習されたモデルの例を示す図である。
【図９】本発明の実施の形態に係るフィルタ装置の機能的構成を示すブロック図である。
【図１０】本発明の実施の形態に係るモデル学習装置におけるモデル学習処理ルーチンを示す図である。
【図１１】本発明の実施の形態に係るフィルタ装置におけるフィルタ処理ルーチンを示す図である。
【図１２】実験例の結果を示す図である。
【図１３】入力される文に５段階のスコア用いた場合の学習データの例を示す図である。
【発明を実施するための形態】
【００２７】
以下、図面を参照して本発明の実施の形態を詳細に説明する。
【００２８】
＜本発明の原理＞
本発明の実施の形態において、機械学習の手法を導入し、文法的に問題がある文とそうでない文を見分ける分類器を学習する。具体的には、ウェブやツイッター（登録商標）から抽出した文を複数用意し、これらについて、文法的な観点から、発話文としての適格性を示すスコアを付与する。そして、これらのスコアが高いものを正例とし、スコアが低いものを負例として、二値分類器を学習する。学習においては、単語間の文法的な関係性が特徴量に含まれるように、構文解析の結果（具体的には、係り受け解析の結果）を特徴量として用いる。
【００２９】
＜本発明の実施の形態に係るモデル学習装置の構成＞
次に、本発明の実施の形態に係るモデル学習装置の構成について説明する。図１に示すように、本発明の実施の形態に係るモデル学習装置１００は、ＣＰＵと、ＲＡＭと、後述するモデル学習処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このモデル学習装置１００は、機能的には図１に示すように入力部１０と、演算部２０と、出力部９０とを備えている。
【００３０】
入力部１０は、ウェブやツイッター（登録商標）等から抽出され、かつ、システムの発話として適格な文には正例の情報を、システムの発話として不適格な文には負例の情報を付与した、複数の文の各々を受け付ける。
【００３１】
演算部２０は、形態素解析部３０と、係り受け解析部４０と、モデル学習部５０と、モデル記憶部６０と、を備えている。
【００３２】
形態素解析部３０は、入力部１０において受け付けた複数の文の各々について、形態素解析を行う。本実施の形態においては、形態素解析を行うプログラムとして、ＪＴＡＧを用いる。なお、形態素解析を行うプログラムとしてＣｈａｓｅｎやＭｅｃａｂ等を用いてもよい。
【００３３】
係り受け解析部４０は、形態素解析部３０において形態素解析された複数の文の各々について、係り受け解析（依存構造解析）を行う。具体的には、形態素解析済みの複数の文の各々について、当該文を文節（文節は内容語とそれに伴う機能語からなる日本語の基本的な単位）毎にまとめ、まとめられた文節同士の依存関係を決定する。例えば、「私は彼と映画に行く」という文については、形態素解析処理の結果から、「私は」「彼と」「映画に」「行く」という４つの文節を取得する。そして、取得された文節同士の依存構造を求めることで、「私は」、「彼と」、「映画に」は、すべて「行く」に係る構造であると解析できる。本実施の形態においては、係り受け解析を行うプログラムとしてＪＤＥＰを用いる。ここで、ＪＤＥＰは、ＪＴＡＧの出力を基にして、係り受け解析を行うソフトウェアである。なお、係り受け解析を行うプログラムとしてＣａｂｏｃｈａやＫＮＰを用いてもよい。
【００３４】
また、係り受け解析部４０は、係り受け解析された複数の文の各々について、当該文に含まれる文節の依存関係の構造に基づいて、木構造を作成する。具体的には、係り受け解析された複数の文毎に、当該文に含まれる文節の各々について、当該文節に含まれる各単語について、当該単語から、当該単語から一番近く、かつ当該文節内で右側に位置する単語に係るようにする。また、文節の各々について、当該文節の最右の単語は、係先の文節内の主辞となる単語に係るようにする。係先が存在しない単語（文内最後の単語）については、木のルートノード（ｒｏｏｔ）に係るようにする。そして、当該文に含まれる単語の各々について、当該単語の品詞を表すノードを、当該単語を代表するノード（以後、単語ノードとする）として作成し、単語の係り受け関係に応じたエッジで単語ノード間を結ぶ。また、当該文に含まれる単語の各々について、当該単語の単語ノードの子ノードとして、当該単語の表記、標準表記、終止形の各々を表すノードを追加する。
【００３５】
また、当該文に含まれる単語の各々について、当該単語に対応する意味属性が存在する場合は、当該単語の単語ノードの子ノードとして、その意味属性の情報を持つノードを追加する。なお、意味属性が複数存在する場合には、全ての意味属性についてのノードを各々追加する。ここで、意味属性とは、単語の持つ意味内容を指す。日本語語彙大系という辞書には、単語とその意味属性の対応が記憶されている。意味属性情報は三種類あり、一般名詞に付与される一般名詞意味属性、固有名詞に付与される固有名詞意味属性、用言（主に動詞）に付与される用言意味属性がある。本実施の形態においては、文毎に当該文に含まれる単語の各々について、これらに対応する意味属性を日本語語彙大系から取得する。なお、意味属性情報が、単語の意味情報の一例である。
【００３６】
また、当該文に含まれる単語の各々について、当該単語が、述語（主に、動詞、形容詞）であり、かつ当該単語が必須格辞書に存在する場合には、当該単語の単語ノードの子ノードとして、述語の必須格情報を持つノードを追加する。ここで、必須格辞書は、大規模なテキストデータを解析して構築できる、述語の、その述語が伴う格のリストを保持したデータである。具体的には、大規模なテキストデータを係り受け解析し、述語に係る文節の持つ格助詞の頻度を数え上げる。そして、特定の述語に偏って多く出現する格助詞をその述語の必須格として必須格辞書に含める。偏って多く出現するかどうかには統計検定の手法を用いればよく、カイ二乗検定や、対数尤度比検定を用いればよい。本実施の形態において用いる必須格辞書では、「行く」の必須格として「ニ格」が、「買う」の必須格として「ヲ格」と「デ格」が、「思う」の必須格として「ト格」が定義されている。
【００３７】
具体的に、「私は彼と映画に行った」という文について、係り受け解析部４０において木構造を作成する場合について説明する。図２はＪＤＥＰの当該文に対する係り受け解析結果である。図２のアスタリスクの記号は文節情報を表している。アスタリスク以降は、それぞれ文節ＩＤ、係り先文節のＩＤと係りタイプ（通常はＤで表記され、並列の係り受けについてはＰで表記される）、主辞と機能語主辞である。図２の一行目に着目すると、「私は」の文節は文節ＩＤが０で、文節ＩＤが３の文節に係っており、主辞は文節内０番目の単語（すなわち「私」）、機能語主辞は文節内１番目の単語（すなわち「は」）であることがわかる。文の終わりはＥＯＳ（Ｅｎｄ  ｏｆ  Ｓｅｎｔｅｎｃｅ）記号で示される。アスタリスクから始まらず、ＥＯＳでもない行は、個々の単語に関する行であり、６つのフィールドからなる。それぞれ、表記、品詞、標準表記、終止形（活用がある品詞の場合）、読み、意味属性情報（一般名詞属性、固有名詞属性、用言属性の順で［］内に示される）である。図３から図６は、それぞれ、文節間の依存構造を図示したもの、単語間の係り受け関係を表す木構造、品詞を表す単語ノードを中心として構築した木構造、意味属性を表すノードと必須格を表すノードを追加した木構造の例を示す。ここで、意味属性は数字で表されたものであるが、図６においては、一般名詞属性、固有名詞属性、用言属性をそれぞれ区別するため、接頭辞としてそれぞれＮ、Ｐ、Ｙを付与している。
【００３８】
最終的に得られる木構造は、文の大まかな構造を、品詞を表す単語ノードにより表し、また、その詳細情報を子ノードとして保持する構造となっている。また、子ノードとして意味属性情報を持つことで、その単語の指す大まかな意味内容を保持している。さらに、必須格辞書より、述語に本来持つべき格の情報を持つことにより必要な格情報が備わっているかどうかを検証するための情報を持つ。
【００３９】
モデル学習部５０は、正例の情報又は負例の情報が付与された文の各々について、係り受け解析部４０において作成された当該文の木構造と、当該文に付与されている正例の情報又は負例の情報とに基づいて、システムの発話文として適格か否かを判定するモデルを学習する。本実施の形態においては、モデルの学習に用いるアルゴリズムとしてＢＡＣＴを用いる。当該アルゴリズムは、与えられたデータ中の木構造に含まれる部分木を列挙し、当該部分木が正例、負例の判定にどの程度寄与しているかの重みを統計的な処理によって計算するものである。最終的に得られるモデルの学習結果は、部分木とその重みのペアの集合となる。ＢＡＣＴは木構造一般の判定に用いられるアルゴリズムである（非特許文献４：Taku Kudo, Yuji Matsumoto (2004) A Boosting Algorithm for Classification of Semi-Structured Text, EMNLP 2004.）。なお、学習アルゴリズムは、木構造中の部分木の存在を特徴量にでき、その特徴量に重みを付与できるものであれば、他のアルゴリズムを用いてもよい。
【００４０】
学習データの一例を図７に示す。正例データの先頭には正例を表す＋１が、負例には−１が付加されている。木構造はＢＡＣＴの入力形態であるＳ式となっている。このＳ式は、図６で説明した木構造と同じ内容を含む。「ｃａｓｅ」で示されているところは必須格情報を表す。学習された結果、得られるモデルの一例を図８に示す。
【００４１】
図８に表される最初の行は切片であり、どのような部分木を持つかによらず判定対象に与えられる重みである。以降、左の欄が重みであり、右の欄がその重みを持つ部分木の文字列表現である。文字列表現の隣接する要素において、「）」は兄弟関係を表しており、それ以外は親子関係である。例えば、「動詞語幹：Ａ  名詞」は、「動詞語幹：Ａ」を表す親ノードと「名詞」を表す子ノードとからなる部分木を表している。正の重みは、その部分木が含まれていると正例になりやすいことを示し、負の重みはその逆である。ここで、作成した重みはモデルとしてモデル記憶部６０に記憶し、出力部９０に出力する。
【００４２】
モデル記憶部６０には、モデル学習部５０において学習された、システムの発話文として適格か否かを判定するモデルが記憶されている。
【００４３】
＜本発明の実施の形態に係るフィルタ装置の構成＞
次に、本発明の実施の形態に係るフィルタ装置の構成について説明する。図９に示すように、本発明の実施の形態に係るフィルタ装置２００は、ＣＰＵと、ＲＡＭと、後述するフィルタ処理ルーチンを実行するためのプログラムや各種データを記憶したＲＯＭと、を含むコンピュータで構成することが出来る。このフィルタ装置２００は、機能的には図９に示すように入力部２１０と、演算部２２０と、出力部２９０とを備えている。
【００４４】
入力部１０は、フィルタ処理の対象となる文を受け付ける。
【００４５】
演算部２２０は、形態素解析部２３０と、係り受け解析部２４０と、モデル適用部２５０と、モデル記憶部２６０と、フィルタ部２７０とを備えている。
【００４６】
形態素解析部２３０は、入力部２１０において受け付けた文について、モデル学習装置１００の形態素解析部３０と同様に、ＪＴＡＧを用いて形態素解析を行う。
【００４７】
係り受け解析部２４０は、形態素解析部２３０において形態素解析された文について、モデル学習装置１００の係り受け解析部４０と同様に、ＪＤＥＰを用いて係り受け解析（依存構造解析）を行う。また、係り受け解析部２４０は、モデル学習装置１００の係り受け解析部４０と同様に、係り受け解析された文について、当該文に含まれる文節の依存関係の構造に基づいて、木構造を作成する。
【００４８】
モデル適用部２５０は、入力部２１０において受け付けた文について係り受け解析部２４０において作成した木構造と、モデル記憶部２６０に記憶されているシステムの発話文として適格か否かを判定するモデルとに基づいて、当該作成した木構造に対応する文がシステムの発話文として適格である度合いを示すスコアを算出する。具体的には、当該木構造に含まれる部分木を列挙し、下記（１）式に従って、当該モデルを参照して、それぞれの部分木の重みを足し合わせることによりシステムの発話文として適格である度合いを示すスコアを算出する。
【００４９】
【数１】
2015132876.tif 000003
【００５０】
ここで、ｔは当該文の木構造であり、ｓｃｏｒｅは木構造についてのシステムの発話文として適格である度合いを示すスコアを返す。ｗｅｉｇｈｔ０は切片を指し、ｓｕｂｔｒｅｅｓは木構造から部分木を列挙する関数である。ｗｅｉｇｈｔは部分木について、当該モデルを参照し、その重みを返す関数である。
【００５１】
モデル記憶部２６０は、モデル学習装置１００のモデル記憶部６０に記憶されているシステムの発話文として適格か否かを判定するモデルと同一のモデルが記憶されている。
【００５２】
フィルタ部２７０は、入力部２１０において受け付けた文についてモデル適用部２５０において算出されたシステムの発話文として適格である度合いを示すスコアが、予め定められた閾値を超えているかを判定し、閾値を超えている場合には、当該文を発話文として適格であると判定し、出力部２９０に出力する。また、システムの発話文として適格である度合いを示すスコアが閾値以下の場合には、当該文を除去する対象として判定し、出力部２９０に出力する。なお、ＢＡＣＴの学習におけるデフォルトの設定によれば、閾値を０とするとき、判定性能が最も高いが、再現率を多少低くしても、適合率を高めたい場合など、閾値を高めに設定することで、システムの発話文として不適格な文が、システムの発話文として適格な文と判定されることを減らすことができる。例えば、閾値が０．００５のときである。
【００５３】
＜本発明の実施の形態に係るモデル学習装置の作用＞
次に、本発明の実施の形態に係るモデル学習装置１００の作用について説明する。正例の情報又は負例の情報を付与した、複数の文の各々を受け付けると、モデル学習装置１００は、図１０に示すモデル学習処理ルーチンを実行する。
【００５４】
まず、ステップＳ１００では、入力部１０において受け付けた正例の情報又は負例の情報が付与された複数の文の各々について、ＪＴＡＧを用いて形態素解析を行う。
【００５５】
次に、ステップＳ１０２では、ステップＳ１００において取得した処理対象の文の形態素解析結果に基づいて、ＪＤＥＰを用いて係り受け解析を行う。
【００５６】
次に、ステップＳ１０４では、ステップＳ１０２において取得した処理対象の文の係り受け解析結果に基づいて、木構造を作成する。
【００５７】
次に、ステップＳ１０６では、入力部１０において受け付けた全ての文について、ステップＳ１０２〜ステップＳ１０４までの処理を終了したか否かの判定を行う。全ての文について、ステップＳ１０２〜ステップＳ１０４までの処理を終了した場合には、ステップＳ１０８へ移行し、全ての文について、ステップＳ１０２〜ステップＳ１０４までの処理を終了していない場合には、処理対象となる文を変更し、ステップＳ１０２へ移行する。
【００５８】
次に、ステップＳ１０８では、ステップＳ１０４において取得した入力部１０において受け付けた複数の文の各々についての木構造と、当該文の各々に付与されている正例の情報又は負例の情報とに基づいて、システムの発話文として適格か否かを判定するモデルを学習し、モデル記憶部６０に記憶する。
【００５９】
次に、ステップＳ１１０では、ステップＳ１０８において取得したシステムの発話文として適格か否かを判定するモデルを出力部９０に出力して、モデル学習処理ルーチンの処理を終了する。
【００６０】
＜本発明の実施の形態に係るフィルタ装置の作用＞
次に、本発明の実施の形態に係るフィルタ装置２００の作用について説明する。まず、入力部２１０から、モデル学習装置１００において学習されたシステムの発話文として適格か否かを判定するモデルが入力され、モデル記憶部２６０に記憶される。そして、処理対象となる文を受け付けると、フィルタ装置２００は、図１１に示すフィルタ処理ルーチンを実行する。
【００６１】
まず、ステップＳ２００では、モデル記憶部２６０に記憶されているシステムの発話文として適格か否かを判定するモデルを読み込む。
【００６２】
次に、ステップＳ２０２では、ステップＳ１００と同様に、入力部２１０において受け付けた文について、ＪＴＡＧを用いて形態素解析を行う。
【００６３】
次に、ステップＳ２０４では、ステップＳ１０２と同様に、ステップＳ２０２において取得した処理対象の文の形態素解析結果に基づいて、ＪＤＥＰを用いて係り受け解析を行う。
【００６４】
次に、ステップＳ２０６では、ステップＳ１０４と同様に、ステップＳ２０４において取得した処理対象の文の係り受け解析結果に基づいて、木構造を作成する。
【００６５】
次に、ステップＳ２０８では、ステップＳ１００において取得したモデルと、ステップＳ２０６において取得した処理対象となる文の木構造とに基づいて、上記（１）式に従って、当該木構造のシステムの発話文として適格である度合いを示すスコアを算出する。
【００６６】
次に、ステップＳ２１０では、ステップＳ２０８において取得したシステムの発話文として適格である度合いを示すスコアが、予め定められた閾値を超えているか否かを判定し、システムの発話文として適格である度合いを示すスコアが閾値を超えている場合には、ステップＳ２１４へ移行し、閾値以下である場合には、ステップＳ２１２へ移行する。
【００６７】
次に、ステップＳ２１２では、入力部２１０において受け付けた文を除外対象として判定して、出力部２９０に出力して処理を終了する。
【００６８】
次に、ステップＳ２１４では、入力部２１０において受け付けた文がシステムの発話文として適格であると判定して、出力部２９０に出力して処理を終了する。
【００６９】
＜実験例＞
図１２のグラフは、本発明の実施の形態に係るフィルタ装置２００（図中のＳｙｎｔａｘ）と、ベースラインとして単語・品詞Ｎ−ｇｒａｍ（ｕｎｉｇｒａｍ、ｂｉｇｒａｍ、ｔｒｉｇｒａｍ）の素性を用いたＳＶＭ（サポートベクトルマシン）ベースのフィルタの性能を比較したものである。図１２は、フィルタ部の閾値を変えた場合にどのように精度が変動するかを示しており、図１２の上部に線が位置する方がよい性能を示す。図１２からわかるとおり、ｐｒｅｃｉｓｉｏｎ（適合率）、ｒｅｃａｌｌ（再現率）は絶えずフィルタ装置２００が上回っており、本発明の有効性が検証された。
【００７０】
以上説明したように、本発明の実施の形態に係るモデル学習装置によれば、正例又は負例の情報が付加されている入力文の各々について、木構造を作成し、作成された木構造から得られる複数の部分木と、正例又は負例の情報とに基づいて、木構造に対応する文が、システムの発話文として適格な文であるか否かを高精度に判定するモデルを学習することができる。
【００７１】
また、本発明の実施の形態に係るフィルタ装置によれば、入力文について木構造を作成し、作成された木構造から得られる複数の部分木と、システムの発話文として適格な文であるか否かを判定する、予め学習されたモデルとに基づいて、システムの発話文として適格である度合いを示すスコアを算出し、算出されたシステムの発話文として適格である度合いを示すスコアに基づいて、入力文がシステムの発話文として適格な文か判定することにより、システムの発話文として適格な文であるか否かを高精度に判定し、システムの発話文として適格な文であると判定された入力文を出力することができる。
【００７２】
また、本発明を利用することにより、対話システムの発話がユーザにとって理解しやすいものになるため、システムとユーザの意思疎通がしやすくなり、システムとユーザのインタラクションが円滑になる。
【００７３】
なお、本発明は、上述した実施形態に限定されるものではなく、この発明の要旨を逸脱しない範囲内で様々な変形や応用が可能である。
【００７４】
また、本実施の形態においては、モデル学習装置１００に入力される文に付加されている情報が、正例の情報又は負例の情報の二値である場合について説明したが、これに限定されるものではない。例えば、入力される文に５段階などのスコアを用いて、１点又は２点を負例とし、４点又は５点を正例とするようにして二値化して用いてもよい。図１３に、外部アノテータによってスコアが付与された例を示す。
【００７５】
また、本実施の形態においては、単語ノードに意味属性の子ノードを追加する場合について説明したが、これに限定されるものではない。例えば、単語の意味を表す情報を子ノードとして追加することができればよいため、ＷｏｒｄＮｅｔにおける、Ｓｙｎｓｅｔ  ＩＤを用いてもよい。また、大規模データにおける複数の単語をその出現の仕方によってクラスタリングすることによって得られる、各単語に割当てられるクラスタの番号を子ノードとして追加してもよい。
【００７６】
また、単語ノードの子ノードとして、当該単語の表記を表すノード、標準表記を表すノード、終止形を表すノード、意味属性の情報を持つノード、及び必須格情報を持つノードを追加する場合を例に説明したが、これに限定されるものではない。例えば、単語ノードの子ノードとして、当該単語の表記を表すノード、標準表記を表すノード、終止形を表すノード、意味属性の情報を持つノード、及び必須格情報を持つノードの少なくとも一つを追加するようにしてもよい。
【００７７】
また、本願明細書中において、プログラムが予めインストールされている実施形態として説明したが、当該プログラムを、コンピュータ読み取り可能な記録媒体に格納して提供することも可能であるし、ネットワークを介して提供することも可能である。
【符号の説明】
【００７８】
１０   入力部
２０   演算部
３０   形態素解析部
４０   係り受け解析部
５０   モデル学習部
６０   モデル記憶部
９０   出力部
１００ モデル学習装置
２００ フィルタ装置
２１０ 入力部
２２０ 演算部
２３０ 形態素解析部
２４０ 係り受け解析部
２５０ モデル適用部
２６０ モデル記憶部
２７０ フィルタ部
２９０ 出力部
【図１】
2015132876.tif 000004
【図９】
2015132876.tif 000005
【図１０】
2015132876.tif 000006
【図１１】
2015132876.tif 000007
【図１２】
2015132876.tif 000008
【図１３】
2015132876.tif 000009
【図２】
2015132876.tif 000010
【図３】
2015132876.tif 000011
【図４】
2015132876.tif 000012
【図５】
2015132876.tif 000013
【図６】
2015132876.tif 000014
【図７】
2015132876.tif 000015
【図８】
2015132876.tif 000016