(57)【要約】  本開示は、意味解析器の開発に必要なコーパスの作成に係る負担を軽減し、開発コストを低減させることができるようにする情報処理装置、および情報処理方法、並びにプログラムに関する。人手で生成されたIND（In Domain）コーパスを述語項構造解析して、置換箇所を設定し、格フレーム辞書により置換箇所の単語に類似する単語を検索して、置換箇所の単語を検索結果となる単語で置換することでコーパスを生成する。本開示は、意味解析器の学習に使用するコーパスを生成する。本開示は、コーパス生成装置に適用することができる。
2019021804.tif 000002
【特許請求の範囲】
【請求項１】
入力文の構造を解析する構造解析部と、
前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、
前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部と
を含む情報処理装置。
【請求項２】
前記入力文は、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文である
請求項１に記載の情報処理装置。
【請求項３】
前記構造解析部は、前記入力文の述語項構造を解析し、
前記置換箇所設定部は、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所を設定する
請求項１に記載の情報処理装置。
【請求項４】
前記入力文における前記置換箇所の単語を置換する候補を、辞書を照会して検索する辞書照会部をさらに含み、
前記コーパス生成部は、前記辞書照会部により検索された単語で、前記入力文における前記置換箇所の単語を置換する
請求項３に記載の情報処理装置。
【請求項５】
前記辞書は、格フレーム辞書である
請求項４に記載の情報処理装置。
【請求項６】
前記置換箇所設定部は、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所と、前記置換箇所の置換方式を設定し、
前記コーパス生成部は、前記入力文における前記置換箇所の単語を、前記置換方式で置換してコーパスを生成する
請求項４に記載の情報処理装置。
【請求項７】
前記置換方式は、前記入力文の述部を固定し、かつ、対象格を含む述語項となる名詞を置換する第１の方式と、前記入力文の対象格を含む述語項を固定し、かつ、述部を置換する第２の方式とを含む
請求項６に記載の情報処理装置。
【請求項８】
前記コーパス生成部により生成されたコーパスを、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文、または、所定のアプリケーションプログラムで扱うべきではない想定外の発話内容であるOOD（Out of Domain）判定文に分類する分類部をさらに含む
請求項１に記載の情報処理装置。
【請求項９】
前記OOD判定文であって、かつ、前記IND判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCOOD（Close OOD）判定文として、前記IND判定文として分類されたコーパスより抽出するCOOD判定文抽出部をさらに含む
請求項８に記載の情報処理装置。
【請求項１０】
前記COOD判定文抽出部は、前記IND判定文として分類されたコーパスを含むドメインにおいて、自ら及び他のコーパスに含まれない単語数が所定数より多いコーパスを、前記ドメインより前記COOD判定文として抽出する
請求項９に記載の情報処理装置。
【請求項１１】
前記COOD判定文抽出部は、前記ドメインのコーパスに含まれる単語数に対する、前記自ら及び他のコーパスに含まれない単語数の割合で表される非出現性が所定値より高いコーパスを、前記ドメインより前記COOD判定文として抽出する
請求項１０に記載の情報処理装置。
【請求項１２】
前記COOD判定文抽出部は、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなるTF/IDFで表される単語の非出現性が所定値より低い単語を多く含むコーパスを、前記ドメインより前記COOD判定文として抽出する
請求項１０に記載の情報処理装置。
【請求項１３】
前記COOD判定文抽出部は、前記ドメインのコーパスにおけるPerplexity値を算出し、前記Perplexity値が所定値よりも高いものを非文として廃棄する
請求項１０に記載の情報処理装置。
【請求項１４】
前記IND判定文であって、かつ、前記OOD判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCIND（Close IND）判定文として、前記OOD判定文として分類されたコーパスより抽出するCIND判定文抽出部をさらに含む
請求項８に記載の情報処理装置。
【請求項１５】
前記CIND判定文抽出部は、前記OOD判定文として分類されたコーパスを含むドメインにおいて、自ら以外の他のOOD判定文に分類されたコーパスに含まれる単語数が所定数より多いコーパスを、前記OOD判定文として分類された全コーパスより前記CIND判定文として抽出する
請求項１４に記載の情報処理装置。
【請求項１６】
前記CIND判定文抽出部は、前記ドメインのコーパスに含まれる単語数に対する、前記自ら以外の他のコーパスに含まれない単語数の割合で表される非出現性が所定数より低いコーパスを、前記CIND判定文として抽出する
請求項１５に記載の情報処理装置。
【請求項１７】
前記CIND判定文抽出部は、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなるTF/IDFで表される単語の非出現性が所定数より低いコーパスを、前記CIND判定文として抽出する
請求項１５に記載の情報処理装置。
【請求項１８】
前記CIND判定文抽出部は、前記ドメインのコーパスにおけるPerplexity値を算出し、前記Perplexity値が所定値よりも高いものを非文として廃棄する
請求項１５に記載の情報処理装置。
【請求項１９】
入力文の構造を解析し、
前記構造の解析結果に基づいて、前記入力文における置換箇所を設定し、
前記入力文における前記置換箇所の単語を置換してコーパスを生成する
ステップを含む情報処理方法。
【請求項２０】
入力文の構造を解析する構造解析部と、
前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、
前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部と
してコンピュータを機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、情報処理装置、および情報処理方法、並びにプログラムに関し、特に、意味解析器の精度の向上に寄与するコーパスの開発コストを低減できるようにした情報処理装置、および情報処理方法、並びにプログラムに関する。
【背景技術】
【０００２】
音声対話システムは、発話内容をテキストデータに変換し、テキストデータを意味解析し、発話内容を認識する。【０００３】
発話内容の認識には、コーパス（例文集）を用いた機械学習により発話内容を解析し、認識する意味解析器が使用される。【０００４】
意味解析器は、アプリケーションプログラム毎に扱うべき発話内容に対するコーパスを用いた機械学習により、発話内容を解析し、認識する。【０００５】
音声対話システムでは、天気の問い合わせ、スケジュール確認、音楽の再生など複数の話題、タスクやアプリケーションプログラムを単一のシステムで扱えるようにマルチドメイン音声対話システムが広く利用されている。【０００６】
マルチドメインの音声対話システムでは、新たなドメインの意味解析機能の追加構築の容易さが求められる。そのため個々のドメインの意味解析器を結合して意味解析システムを構築する手法（アーキテクチャ）が広く提案されている。このアーキテクチャは複数のドメインの意味解析システムとそれを統合するドメイン選択器（フレーム推定器）で構成されたシステムとなる（非特許文献１）。【０００７】
マルチドメインの音声対話システムにおいては、それぞれのドメインに必要とされるコーパスを用いた学習により、多様なアプリケーションプログラムの発話内容を認識できる意味解析器を実現する技術が必要である。【０００８】
また、想定外の発話（Out of Domain発話：以下OOD発話とも称する）を受けた時に誤ったドメインに意味解析処理を遷移することを防ぐ必要がある。そのためにはOODコーパスを用意してフレーム推定器を再学習するのが理想的だが、OODコーパスの開発には工数がかかるため対話の履歴も活用して推定する方法など様々な手法が議論されている（非特許文献２参照）。
【先行技術文献】
【非特許文献】
【０００９】
【非特許文献１】Bor-shen Lin1, Hsin-min Wang2他 1998 “A DISTRIBUTED ARCHITECTURE FOR COOPERATIVE SPOKEN DIALOGUE AGENTS WITH COHERENT DIALOGUE STATE AND HISTORY”
【非特許文献２】Ian R. Lane 他 2004 “Out-of-Domain Utterance Detection using Classification Confidences of Multiple Topics”
【発明の概要】
【発明が解決しようとする課題】
【００１０】
しかしながら、非特許文献１，２に係るコーパスは、人手で作成されており、多様なアプリケーションプログラムの発話内容を認識するためには、より多くのコーパスが必要となるので、コーパスの作成に係る負荷が意味解析器の開発コストの大きな負担になっている。【００１１】
本開示は、このような状況に鑑みてなされたものであり、特に、学習に必要とされるコーパスを効率的に開発できるようにすることで、意味解析器の開発コストを低減させるものである。
【課題を解決するための手段】
【００１２】
本開示の一側面の情報処理装置は、入力文の構造を解析する構造解析部と、前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部とを含む情報処理装置である。【００１３】
前記入力文は、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文とすることができる。【００１４】
前記構造解析部には、前記入力文の述語項構造を解析する前記置換箇所設定部は、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所を設定させるようにすることができる。【００１５】
前記入力文における前記置換箇所の単語を置換する候補を、辞書を照会して検索する辞書照会部をさらに含ませるようにすることができ、前記コーパス生成部には、前記辞書照会部により検索された単語で、前記入力文における前記置換箇所の単語を置換させるようにしてもよい。【００１６】
前記辞書は、格フレーム辞書とすることができる。【００１７】
前記置換箇所設定部には、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所と、前記置換箇所の置換方式を設定させ、前記コーパス生成部には、前記入力文における前記置換箇所の単語を、前記置換方式で置換してコーパスを生成させるようにすることができる。【００１８】
前記置換方式には、前記入力文の述部を固定し、かつ、対象格を含む述語項となる名詞を置換する第１の方式と、前記入力文の対象格を含む述語項を固定し、かつ、述部を置換する第２の方式とを含ませるようにすることができる。【００１９】
前記コーパス生成部により生成されたコーパスを、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文、または、所定のアプリケーションプログラムで扱うべきではない想定外の発話内容であるOOD（Out of Domain）判定文に分類する分類部をさらに含ませるようにしてもよい。【００２０】
前記OOD判定文であって、かつ、前記IND判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCOOD（Close OOD）判定文として、前記IND判定文として分類されたコーパスより抽出するCOOD判定文抽出部をさらに含ませるようにすることができる。【００２１】
前記COOD判定文抽出部には、前記IND判定文として分類されたコーパスを含むドメインにおいて、自ら及び他のコーパスに含まれない単語数が所定数より多いコーパスを、前記ドメインより前記COOD判定文として抽出させるようにすることができる。【００２２】
前記COOD判定文抽出部には、前記ドメインのコーパスに含まれる単語数に対する、前記自ら及び他のコーパスに含まれない単語数の割合で表される非出現性が所定値より高いコーパスを、前記ドメインより前記COOD判定文として抽出させるようにすることができる。【００２３】
前記COOD判定文抽出部には、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなるTF/IDFで表される単語の非出現性が所定値より高いコーパスを、前記ドメインより前記COOD判定文として抽出させるようにすることができる。【００２４】
前記COOD判定文抽出部には、前記ドメインのコーパスにおけるPerplexity値を算出させ、前記Perplexity値が所定値よりも高いものを非文として廃棄させるようにすることができる。【００２５】
前記IND判定文であって、かつ、前記OOD判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCIND（Close IND）判定文として、前記OOD判定文として分類されたコーパスより抽出するCIND判定文抽出部をさらに含ませるようにすることができる。【００２６】
前記CIND判定文抽出部には、前記OOD判定文として分類されたコーパスを含むドメインにおいて、INDコーパスに含まれる単語数が所定数より多いコーパスを、前記OOD判定文として分類された全コーパスより前記CIND判定候補文として抽出させるようにすることができる。【００２７】
前記CIND判定文抽出部には、前記ドメインのコーパスに含まれる単語数に対する、前記INDコーパスに含まれない単語数の割合で表される非出現性が所定数より低いコーパスを、前記CIND判定候補文として抽出させるようにすることができる。【００２８】
前記CIND判定文抽出部には、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなるTF/IDFで表される単語の非出現性が所定数より低いコーパスを、前記CIND判定文として抽出させるようにすることができる。【００２９】
前記CIND判定文抽出部には、前記ドメインのコーパスにおけるPerplexity値を算出させ、前記Perplexity値が所定値よりも高いものを非文として廃棄させるようにすることができる。【００３０】
本開示の一側面の情報処理方法は、入力文の構造を解析し、前記構造の解析結果に基づいて、前記入力文における置換箇所を設定し、前記入力文における前記置換箇所の単語を置換してコーパスを生成するステップを含む情報処理方法である。【００３１】
本開示の一側面のプログラムは、入力文の構造を解析する構造解析部と、前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部としてコンピュータを機能させるプログラムである。【００３２】
本開示の一側面においては、入力文の構造が解析され、前記構造の解析結果に基づいて、前記入力文における置換箇所が設定され、前記入力文における前記置換箇所の単語が置換されてコーパスが生成される。
【発明の効果】
【００３３】
本開示の一側面によれば、特に、意味解析器の開発コストを低減させることが可能となる。
【図面の簡単な説明】
【００３４】
【図１】意味解析部の動作を説明する図である。
【図２】COOD判定文およびCIND判定文を説明する図である。
【図３】本開示のコーパス生成装置の構成例を説明する図である。
【図４】図３のフィルタリング処理部の構成例を説明する図である。
【図５】コーパスが生成される過程と、生成されるコーパスの種別を説明する図である。
【図６】似ている文と非なる文とを説明する図である。
【図７】コーパス生成処理を説明するフローチャートである。
【図８】述語項構造の解析結果を説明する図である。
【図９】置換方式の設定例を説明する図である。
【図１０】置換箇所の設定例を説明する図である。
【図１１】置換箇所の設定例を説明する図である。
【図１２】日本語の述語項構造の解析結果の格納例を説明する図である。
【図１３】日本語における置換方式がAction固定Category置換方式のときの、図１２の述語項構造の解析結果を用いた、対象格を置換する単語群の例を説明する図である。
【図１４】日本語における置換方式がCategory固定Action置換方式のときの、図１２の述語項構造の解析結果を用いた、述語を置換する単語群の例を説明する図である。
【図１５】日本語における置換されたOOD候補文の例を説明する図である。
【図１６】図１２の述語項構造の解析結果に対応する、英語での述語項構造の解析結果の格納例を説明する図である。
【図１７】英語における置換方式がAction固定Category置換方式のときの、図１６の述語項構造の解析結果を用いた、対象格を置換する単語群の例を説明する図である。
【図１８】英語における置換方式がCategory固定Action置換方式のときの、図１６の述語項構造の解析結果を用いた、述語を置換する単語群の例を説明する図である。
【図１９】英語における置換されたOOD候補文の例を説明する図である。
【図２０】深層格解析の解析結果と表層格解析の解析結果とを説明する図である。
【図２１】フィルタリング処理を説明するフローチャートである。
【図２２】COODコーパス抽出処理を説明するフローチャートである。
【図２３】Perplexity値とn-gram確率値とを説明する図である。
【図２４】非出現性を説明する図である。
【図２５】TF値とTF/IDF値とを説明する図である。
【図２６】CINDコーパス抽出処理を説明するフローチャートである。
【図２７】汎用のパーソナルコンピュータの構成例を説明する図である。
【発明を実施するための形態】
【００３５】
以下に添付図面を参照しながら、本開示の好適な実施の形態について詳細に説明する。なお、本明細書及び図面において、実質的に同一の機能構成を有する構成要素については、同一の符号を付することにより重複説明を省略する。
【００３６】
＜意味解析システムについて＞
本開示の技術を適用したコーパス生成装置を説明するにあたり、コーパス生成装置により生成されたコーパスを用いた意味解析システムについて説明する。
【００３７】
意味解析システムは、ユーザの発話を認識して、対応するアプリケーションプログラムを実行させる。
【００３８】
意味解析システムは、例えば、図１で示されるように、入力受付部１１、音声認識部１２、フレーム推定部１３、各ドメインの意味解析部１４−１乃至１４−３、およびアプリケーションプログラム１８乃至２０より構成される。
【００３９】
入力受付部１１は、ユーザの発話入力を、音声信号（speech）の入力として受け付けて音声認識部１２に出力する。
【００４０】
音声認識部１２は、音声信号を認識して、テキスト文字列（text）に変換し、フレーム推定部１３に出力する。
【００４１】
フレーム推定部１３は、テキスト文字列に基づいて後段の最適なアプリケーション（ドメイン）の意味解析部１４−１乃至１４−３に処理を遷移させる。また、フレーム推定部１３は、どのドメインにも属さないテキスト文字列は棄却する。
【００４２】
意味解析部１４−１乃至１４−３は、テキスト文字列に基づいて、属性（attribute）と対応する値（value）を解析して、動作（action）の対象となる天気案内のアプリケーションプログラム１８、予定確認のアプリケーションプログラム１９、または、音楽再生のアプリケーションプログラム２０に対して、それぞれに対応する解析結果１５乃至１７を供給する。尚、意味解析部１４−１乃至１４−３は、特に、区別する必要がない場合、単に、意味解析部１４と称する。
【００４３】
より詳細には、例えば、「明日の東京の天気は？」といった発話入力Ｖ１が、入力受付部１１で、音声信号として受け付けられた場合、音声認識部１２は、「明日の東京の天気は」というテキスト文字列として認識して、フレーム推定部１３に供給する。
【００４４】
フレーム推定部１３は、例えば、発話入力が天気案内のアプリケーションプログラム１８に対する発話であると判定するとき、天気案内のドメインの意味解析部１４−１に処理を遷移させる。
【００４５】
意味解析部１４−１は、このテキスト文字列に基づいて、天気に関する発話を解析し、どこ（where）を示す情報が「東京」であり、いつ（when）を示す情報が「明日」であることを含む解析結果１５をアプリケーションプログラム１８に供給する。
【００４６】
天気案内のアプリケーションプログラム１８は、解析結果１５に基づいて、東京の明日の天気案内を表示する。
【００４７】
また、例えば、「今日の１５時からの予定は？」といった発話入力Ｖ２が、入力受付部１１で、音声信号として受け付けられた場合、音声認識部１２は、「今日の１５時からの予定は」というテキスト文字列として認識して、フレーム推定部１３に供給する。
【００４８】
フレーム推定部１３は、例えば、発話入力が予定確認のアプリケーションプログラム１９に対する発話であると判定するとき、予定確認のドメインの意味解析部１４−２に処理を遷移させる。
【００４９】
意味解析部１４−２は、このテキスト文字列に基づいて、予定確認に関する発話を解析し、例えば、発話入力が予定確認のアプリケーションプログラム１９に対する発話であり、期日（date）を示す情報が「今日」であり、時刻（time）を示す情報が「１５時」であることを含む解析結果１６をアプリケーションプログラム１９に供給する。
【００５０】
予定確認のアプリケーションプログラム１９は、解析結果１６に基づいて、今日の１５時の予定確認を表示する。
【００５１】
さらに、例えば、「東野ナカの新曲かけて！」といった発話入力Ｖ３が、入力受付部１１で、音声信号として受け付けられた場合、音声認識部１２は、「東野ナカの新曲かけて」というテキスト文字列として認識して、フレーム推定部１３に供給する。
【００５２】
フレーム推定部１３は、例えば、発話入力が音楽再生のアプリケーションプログラム２０に対する発話であると判定するとき、音楽再生のドメインの意味解析部１４−３に処理を遷移させる。
【００５３】
意味解析部１４−３は、このテキスト文字列に基づいて、音楽再生に関する発話を解析し、例えば、発話入力が音楽再生のアプリケーションプログラム２０に対する発話であり、アーティスト（artist）を示す情報が「東野ナカ」であり、楽曲（music）を示す情報が「新曲」であることを含む解析結果１７をアプリケーションプログラム２０に供給する。
【００５４】
音楽再生のアプリケーションプログラム２０は、解析結果１７に基づいて、東野ナカの新曲を再生する。
【００５５】
ここで、意味解析部１４は、テキスト文字列からなる情報を解析するために、例文集であるコーパスを用いた機械学習を行う。
【００５６】
コーパスは、主に、アプリケーションプログラムで扱うべき発話内容（In Domain発話：以下、INDとも称する）からなるコーパス（INDコーパスとも称する）と、アプリケーションプログラムで扱えない発話内容（Out of Domain発話：以下OOD発話とも称する）からなるコーパス（OODコーパスとも称する）とに分けられる。
【００５７】
意味解析部１４は、INDコーパスを学習することで、アプリケーションプログラムで扱うべき発話内容を解析し、認識できるようになる。また、同様に、フレーム推定部１３は、INDコーパスとともにOODコーパスを学習することで、正しいドメインの意味解析部１４に処理を遷移させ、想定外の発話に対しては棄却できるようになる。すなわち、フレーム推定部１３は、INDコーパスとOODコーパスとを学習することで、扱うべき発話と、棄却すべき発話とを解析し、発話内容を適切に認識できるようになる。
【００５８】
ところで、フレーム推定部１３、および意味解析部１４の学習は、ともに、多くのコーパスが必要とされるが、一般に、コーパスは、人手で作成されている。
【００５９】
例えば、天気案内のアプリケーションプログラムなどの特定のサービスを想定しても様々な発話の言い回しが想定され、アルゴリズムにも依存するが一般に1000以上の発話事例が必要とされている。
【００６０】
さらに、サービスの種類が増えれば、増えたサービスの種類に対応するアプリケーションプログラムの数だけ、それぞれのコーパスを作成する必要がある。
【００６１】
しかしながら、コーパスを人手で作成するには、膨大なコストが掛かり開発の大きな負担となっている。特に、フレーム推定部１３は、ドメイン毎のOOD発話を用意せねばならず、例えば、コーパス総数において約２倍のコーパスを用意する必要が生じる。
【００６２】
また、コーパスを構成する文章の一部の単語やフレーズをソフトウエアプログラムで置換して行う方法も広く行われているが、入れ替え部分の指定や、置換される単語のルール文をパターン単位でコーディングする作業は煩雑であり、さらに、できあがった文章を再度、人手で判定して仕分けする作業コストも発生し、その負担は大きなものとなる。
【００６３】
さらに、インターネット上の膨大なテキストから類似の文を集めるようにしてコーパスを作成する方法も提案されているが、インターネット上の文章の殆どは書き言葉でかかれたもので発話事例は少ない。
【００６４】
＜COOD判定文について＞
ところで、フレーム推定部１３や意味解析部１４によりINDコーパスとして判定されたコーパスには、認識精度による限界があるので、一部にOODコーパスとみなされるコーパスが含まれることがある。このようなOOD判定文は、IND判定文であったものが、誤判定によりOOD判定文とされてしまったものであるので、IND判定文に近いコーパスであると考えることができる。
【００６５】
例えば、コーパスに含まれる単語の素性１，２により、コーパスが表現する意味の特徴を、図２で示されるような特徴空間内の分布として表現することを考える。図２の例においては、黒丸印が、IND判定文とみなされるコーパスの分布であり、バツ印が、OOD判定文とみなされるコーパスの分布である。
【００６６】
図２のバツ印で示されるOOD判定文とみなされるコーパスのうち、IND判定文とみなされるコーパスの近傍に存在するコーパスは、IND判定文に類似したコーパスであると考えることができる。このOOD判定文とみなされるコーパスのうち、IND判定文とみなされるコーパスの分布の近傍に存在するコーパスは、COOD（Close Out of Domain）判定文といわれる。
【００６７】
COOD判定文は、OOD判定文ではあるが、IND判定文に類似したコーパスであり、換言すれば、IND判定文に似て非なるコーパスであると考えることができる。さらに言えば、COOD判定文は、IND判定文と判別するには、非常に紛らわしい表現であり、誤判定を起こし易いコーパスであるとも考えることができる。
【００６８】
フレーム推定部１３、および意味解析部１４の認識精度を向上させるには、このCOOD判定文からなるコーパスを必要にして十分な量だけ学習させることが重要である。本開示のコーパス生成装置は、特に、認識精度の向上に有効なCOODコーパスを含むコーパスを容易で、かつ、大量に生成できるようにし、コーパスの開発に係る負荷を低減させるようにする。
【００６９】
＜本開示のコーパス生成装置の構成例＞
本開示のコーパス生成装置は、図１のフレーム推定部１３、および意味解析部１４に相当する構成の学習に必要とされるコーパスを効率的に生成できるようにすることで、フレーム推定部１３、および意味解析部１４の開発コストを低減させるものである。
【００７０】
図３は、本開示のコーパス生成装置の一実施の形態の構成例を示している。
【００７１】
コーパス生成装置５１は、入力文である人手で、または、何らかのその他の手法で生成されたIND文からなるコーパスを受け付けて、言語解析などにより単語を置換することで置換生成文からなるコーパスを生成すると共に、生成したコーパスをフィルタリング処理によりCOOD判定文、OOD判定文、IND判定文、およびCIND判定文からなるコーパスに分類する。ここで、CIND（Close IND）判定文は、OOD判定文に分類されたコーパスのうち、IND判定文と類似したコーパスである。すなわち、CIND判定文のコーパスを機械学習させることでも、フレーム推定部１３、および意味解析部１４の認識精度を向上させることができる。
【００７２】
コーパス生成装置５１は、IND文受付部１０１、言語解析部１０２、置換箇所設定部１０３、辞書照会部１０４、置換実行部１０５、重文排除部１０６、格フレーム辞書１０７、生成条件設定データ記憶部１０８、置換生成文記憶部１０９、フィルタリング処理部１１０を備えている。
【００７３】
IND文受付部１０１は、人手により生成されたIND文や、その他の手法で生成されたIND文の入力を受け付けて、言語解析部１０２に出力する。
【００７４】
言語解析部１０２は、IND文受付部１０１より出力されるIND文のそれぞれについて、形態素、句、および述語項構造を解析し、解析結果を置換箇所設定部１０３に出力する。
【００７５】
置換箇所設定部１０３は、IND文の述語項構造の解析結果に基づいて、置換条件を設定し、辞書照会部１０４に出力する。
【００７６】
辞書照会部１０４は、格フレーム辞書１０７を照会し、IND判定文のうち置換条件に基づいて設定された置換位置の単語を、設定された置換方式で検索し、検索結果を置換実行部１０５に出力する。
【００７７】
置換実行部１０５は、置換条件に基づいて設定された置換位置の単語を、設定された置換方式で検索された単語で置換し新たなコーパスを生成する。この時に生成条件設定データ記憶部１０８に記憶されている生成条件設定データに基づいて、新たに生成したコーパスの文末などを調整する。以上の処理の結果生成された文を重文排除部１０６に出力する。
【００７８】
重文排除部１０６は、置換実行部１０５より出力されるコーパスが、重文であるか否かを判定し、重文である場合、廃棄判定文とみなして、廃棄処理する。また、重文排除部１０６は、置換実行部１０５より出力されるコーパスが、重文ではない場合、コーパスを置換生成文として置換生成文記憶部１０９に記憶させる。
【００７９】
格フレーム辞書１０７は、述語をその語義（格フレーム）ごとに分類し、それに特定の格をもってかかる単語がまとめられた辞書であり、辞書照会部１０４により、置換箇所に設定された格フレームの語義となる単語が検索される。
【００８０】
生成条件設定データ記憶部１０８は、置換実行部１０５により調整されるコーパスを生成する上での条件のデータである生成条件設定データを記憶しており、置換実行部１０５は、生成条件設定データ記憶部１０８の生成条件設定データに基づいて、置換されたコーパスを調整する。
【００８１】
フィルタリング処理部１１０は、置換生成文記憶部１０９に記憶されているコーパスを、OOD判定文、COOD判定文、IND判定文、およびCIND判定文のコーパスに分類する。尚、フィルタリング処理部１１０の構成例については、図４を参照して、詳細を後述する。
【００８２】
＜フィルタリング処理部＞
次に、図４を参照して、図３のフィルタリング処理部１１０の構成例について説明する。
【００８３】
フィルタリング処理部１１０は、意味解析器１３１、IND判定文記憶部１３２、COODコーパス抽出部１３３、COOD判定文記憶部１３４、確定IND判定文記憶部１３５、OOD判定文記憶部１３６、CINDコーパス抽出部１３７、CIND判定文記憶部１３８、および確定OOD判定文記憶部１３９を備えている。
【００８４】
意味解析器１３１は、古いバージョンのコーパス（これまでに生成されたコーパス）で学習された意味解析器（図１の意味解析部１４に対応するもの）であり、置換生成文記憶部１０９に記憶されている置換生成文からなるコーパスのそれぞれについて、所定のアプリケーションプログラムで扱うべき発話内容（以下、IND判定文とも称する）であるか、所定のアプリケーションプログラムで扱うことができない（棄却すべき）発話内容（以下、OOD判定文とも称する）であるかを判定する。また、意味解析器１３１は、IND判定文をIND判定文記憶部１３２に、OOD判定文をOOD判定文記憶部１３６に、それぞれ記憶させる。
【００８５】
COOD（Close OOD）コーパス抽出部１３３は、IND判定文記憶部１３２に記憶されているIND判定文のうち、COOD判定文に分類されるコーパスを抽出し、COOD判定文記憶部１３４に記憶させると共に、それ以外のIND判定文を確定IND判定文として確定IND判定文記憶部１３５に記憶させる。また、COODコーパス抽出部１３３は、IND判定文からなるコーパスのうち、非文であり、COOD判定文にも、確定IND判定文にも分類されないコーパスを廃棄判定文として廃棄する。ここで、COOD判定文とは、IND判定文との判定において、その境界付近に存在するOOD判定文である。尚、COOD判定文については、図５を参照して詳細を後述する。
【００８６】
また、COODコーパス抽出部１３３は、非文判定部１３３ａおよび非出現性判定部１３３ｂを備えており、非文判定部１３３ａを制御して、非文であるか否かを判定させ、非文を廃棄判定文とみなし、廃棄処理する。また、COODコーパス抽出部１３３は、非出現性判定部１３３ｂを制御して、非文とみなされなかったコーパスの非出現性に基づいて、IND判定文がCOOD判定文であるか、または、確定IND判定文であるかを判定させ、このうちCOOD判定文を抽出してCOOD判定文記憶部１３４に記憶させ、確定IND判定文を確定IND判定文記憶部１３５に記憶させる。
【００８７】
非文判定部１３３ａは、IND判定文からなるコーパスにおける、意味の通る文章らしさを示す指標であるPerplexity値を算出し、Perplexity値と所定の閾値との比較により非文であるか否かを判定し、非文とみなしたコーパスを廃棄判定文として廃棄処理する。
【００８８】
非出現性判定部１３３ｂは、非文ではないとみなされたコーパスのそれぞれについて、IND判定文に判定されたドメインにおけるコーパス群で出現し難い単語を含んでいるか否かを示す非出現性を示すパラメータを算出する。そして、非出現性判定部１３３ｂは、非出現性を示すパラメータと所定の閾値との比較により、IND判定文に判定されたドメインにおけるコーパス群で出現し難い単語を含んでいるコーパスをCOOD判定文とみなして抽出する。さらに、非出現性判定部１３３ｂは、抽出したCOOD判定文をCOOD判定文記憶部１３４に記憶させ、それ以外のIND判定文からなるコーパスを確定IND判定文とみなして、確定IND判定文記憶部１３５に記憶させる。
【００８９】
CIND（Close IND）コーパス抽出部１３７は、OOD判定文記憶部１３６に記憶されているOOD判定文のうち、CIND判定文に分類されるコーパスを抽出し、CIND判定文記憶部１３８に記憶させ、それ以外のOOD判定文を確定OOD判定文として確定OOD判定文記憶部１３９に記憶させる。また、CINDコーパス抽出部１３７は、OOD判定文からなるコーパスのうち、CIND判定文にも、確定OOD判定文にも分類されないコーパスを廃棄判定文として廃棄する。ここで、CIND判定文とは、OOD判定文との判定において、その境界付近に存在するIND判定文である。各CIND判定文がどのドメインに属するかの判定は最終的には人手などで行う。尚、CIND判定文については、図５を参照して詳細を後述する。
【００９０】
また、CINDコーパス抽出部１３７は、非文判定部１３７ａおよび非出現性判定部１３７ｂを備えており、非文判定部１３７ａを制御して、非文であるか否かを判定させ、非文を廃棄判定文とみなし、廃棄処理する。また、CINDコーパス抽出部１３７は、非出現性判定部１３７ｂを制御して、非文とみなされなかったコーパスがCIND判定文であるか、または、確定OOD判定文であるかを判定させ、このうちCIND判定文を抽出してCIND判定文記憶部１３８に記憶させ、確定OOD判定文を確定OOD判定文記憶部１３９に記憶させる。
【００９１】
非文判定部１３７ａは、OOD判定文からなるコーパスにおける、意味の通る文章らしさを示す指標であるPerplexity値を算出し、Perplexity値と所定の閾値との比較により非文であるか否かを判定し、非文とみなしたコーパスを廃棄判定文として廃棄処理する。
【００９２】
非出現性判定部１３７ｂは、非文ではないとみなされたコーパスのそれぞれについて、OOD判定文に判定されたドメインにおけるコーパス群で出現し難い単語を含んでいるか否かを判定し、OOD判定文に判定されたドメインにおけるコーパス群で出現し難い単語を含んでいるコーパスを確定OOD判定文とみなして抽出する。さらに、非出現性判定部１３７ｂは、抽出した確定OOD判定文を確定OOD判定文記憶部１３９に記憶させ、それ以外のコーパスをCIND判定文とみなして抽出し、CIND判定文記憶部１３８に記憶させる。
【００９３】
＜COOD判定文およびCIND判定文について＞
ここで、COOD判定文およびCIND判定文について説明する。
【００９４】
図４の意味解析器１３１は、置換生成文記憶部１０９に記憶されているIND文から生成された置換生成文からなるコーパス群を、図５で示されるように、IND判定文のコーパス群とOOD判定文のコーパス群とに分類する。
【００９５】
さらに、COODコーパス抽出部１３３は、IND判定文からなるコーパス群より、後述するPerplexity値に基づいた判定により、非文とみなされるコーパスを廃棄判定文として廃棄処理すると共に、単語の非出現性に基づいた判定によりCOOD判定文とみなされるコーパスを抽出する。そして、COODコーパス抽出部１３３は、残りのIND判定文からなるコーパスを確定IND判定文とみなす。
【００９６】
すなわち、COODコーパス抽出部１３３に入力されるのはIND文を元に様々に単語が置換されることで生成されたIND判定文からなるコーパスであるので、確定IND判定文とみなされるコーパスが比較的多くなる。
【００９７】
しなしながら、意味解析器１３１によりIND判定文として判定されたコーパスには、認識精度による限界がある上、さらに、単語が置換されているので、一部にOOD判定文とみなされるコーパスも含まれる。このようなOOD判定文は、IND判定文であったものが、単語の置換によりOOD判定文に代わったものであるので、IND判定文に近いコーパスであり、図２を参照して説明したCOOD判定文であると考えることができる。
【００９８】
COOD判定文は、OOD判定文ではあるが、IND判定文に類似したコーパスであり、換言すれば、IND判定文に似て非なるコーパスであると考えることができる。さらに言えば、COOD判定文は、IND判定文と判別するには、非常に紛らわしい表現であり、誤判定を起こし易いコーパスであるとも考えることができる。
【００９９】
ここで、２つ以上のコーパス（文章）が相互に「似ている」とは、例えば、２つ以上の文章が相互に類似した語義の述語を持った文章であり、述語と、述語に係る項の構造（述語項構造）が似ていることである。さらに、述語にかかる項の単語の意味や役割まで似ている文章であれば、２つ以上の文章は、より似ているといえる。
【０１００】
例えば、「設定する」という言葉を例にする場合、語義は、複数に存在し、例えば、図６の例Ｅｘ１で示されるように、「設定する」の語義のうちの２種類の例が、「設定する４」および「設定する８」として挙げられている。
【０１０１】
例Ｅｘ１においては、「設定する４」では「設定する」という述語にかかる項として、動作主格としての（“システム”，83）、（“会社”，42）、（“学校”，33）、（“上司”，18）が挙げられており、対象格としての（“会議”，41）、（“参加者”，27）、（“移動時間”，10）が挙げられており、道具格としての（“ＰＣ（パーソナルコンピュータ）”，95）、（“スケジューラ”，72）、（“スマホ”，33）が挙げられている。尚、図中において、各単語の後に表記される数値（動作主格であれば、“システム”、“会社”、“学校”、および“上司”といった言葉に対応付けて表記されている83,42,33,18）は、所定数の文章を検索したときに単語と述語とが結びついて検索される回数（頻度）を示しており、ここでは、頻度の高い順に表記されている。尚、この数字は重みの様な別の指標でもよいし、母集団によりノーマライズして使用するようにしてもよいし、指標を乗算するなどして組み合わせて使用するようにしてもよい。
【０１０２】
また、例Ｅｘ１においては、「設定する８」では同様にそれに係る項として、動作主格としての、（“妻”，40）、（“娘”，33）、（“息子”，28）、（“母”，13）が挙げられており、対象格としての（“アラーム”，52）、（“目覚まし”，48）、（“タイマ”，42）が挙げられており、道具格としての（“目覚まし”，94）、（“時計”，42）、（“携帯”，35）、（“スマホ，19）が挙げられている。
【０１０３】
さらに、「設定する」に類似する語義の述語として「セットする１」が挙げられており、この場合、それにかかる項として、動作主格としての、（“彼女”，56）、（“父”，52）、（“妻”，49）が挙げられており、対象格としての（“タイマ”，67）、（“スリープタイマ”，42）（“アラーム”，41）が挙げられており、道具格としての（“炊飯器”，52）、（“エアコン”，45）、（“ラジオ”，32）、（“携帯”，12）が挙げられている。
【０１０４】
つまり、例Ｅｘ１で挙げられている「設定する４」、「設定する８」、および「セットする１」とは、それぞれに分類される語義で使用される際、動作主格、対象格、道具格をそれぞれの語義の範囲内で置き換えられた文章同士は、述語構造が類似した文章であり、「設定する８」は「セットする１」はどちらも対象格にタイマに関係する意味クラスの単語がかかる点で類似した語義をもつ可能性が高いと考えることができる。
【０１０５】
また、２つ以上の文章が相互に「非なる」とは、例えば、述語項構造が似ていて、異なる表記の述語、または、意味クラスの名詞句を持った文章である。
【０１０６】
例えば、述語項構造が似ていて、異なる表記の述語を持つ場合の例としては、図６の例Ｅｘ２の上段で示されるように、「６時にアラームを設定して。」、「６時にアラームを破壊して。」、「６時にアラームを解放して。」などが挙げられる。
【０１０７】
また、述語項構造が似ていて、異なる表記の意味クラスの名詞句を持つ場合の例としては、図６の例Ｅｘ２の下段で示されるように、「８時にタイマを設定して。」、「８時に営業会議を設定して。」、「８時にシャットダウンを設定して。」、などが挙げられる。１番目の「タイマ」は時計機能に関する名詞句、２番目の「営業会議」は仕事のイベントに関する名詞句、「シャットダウン」はコンピュータの制御に関する名詞句で意味的には異なる分類になる。
【０１０８】
さらに名詞句の意味クラスの例として、図６の例Ｅｘ２の最下段で示されるように、例えば、「山形」という言葉を例とする場合、「山形」という人物や姓などを意味するクラス、「山形県」という地名や県名を意味するクラス、「山形新幹線」などの路線名を意味するクラスなどである。
【０１０９】
これに対して、OOD判定文とみなされるコーパスのうち、IND判定文とみなされるコーパスと特徴空間内において離れているコーパスは、IND判定文と誤認識される可能性が低いと考えることができる。
【０１１０】
したがって、フレーム推定部１３および意味解析部１４は、COOD判定文を多く学習することで、IND判定文に類似しているが、OOD判定文であるコーパスを確実に棄却することが可能となり、結果として、認識精度を向上させることが可能となる。このため、より多くのCOOD判定文となるコーパスを生成し、学習させることで認識精度を向上させることができる。
【０１１１】
CIND判定文は、COOD判定文と対応するコーパスであり、図２の特徴空間内において、IND判定文とみなされるコーパスのうち、OOD判定文とみなされるコーパスの分布との境界付近に存在するコーパスである。
【０１１２】
CIND判定文は、IND判定文であるが、OOD判定文に類似したコーパスであり、換言すれば、OOD判定文に似て非なるコーパスであると考えることができる。さらに言えば、CIND判定文は、OOD判定文と判別するには、非常に紛らわしい表現であり、誤判定を起こし易いコーパスであるとも考えることができる。
【０１１３】
これに対して、IND判定文とみなされるコーパスのうち、OOD判定文とみなされるコーパスと特徴空間内において離れているコーパスは、OOD判定文と誤判定を起こし難いと考えることができる。
【０１１４】
したがって、フレーム推定部１３および意味解析部１４は、CIND判定文を多く学習することで、OOD判定文に類似しているが、IND判定文であるコーパスを確実に認識することが可能となり、結果として、認識精度を向上させることが可能となる。このため、より多くのCIND判定文となるコーパスを生成し、学習させることで認識精度を向上させることができる。
【０１１５】
以上のことから、COOD判定文とCIND判定文とをそれぞれ多く学習することでフレーム推定部１３および意味解析部１４の認識精度を向上させることが可能となる。
【０１１６】
＜コーパス生成処理＞
次に、図７のフローチャートを参照して、図３のコーパス生成装置５１によるコーパス生成処理について説明する。
【０１１７】
ステップＳ１１において、IND文受付部１０１は、人手などで作成されたIND文のうち、未処理のIND文を処理対象のIND文として選択して、入力を受け付けて言語解析部１０２に出力する。
【０１１８】
ステップＳ１２において、言語解析部１０２は、処理対象となるIND文の形態素、句、および述語項構造を解析する。
【０１１９】
ステップＳ１３において、言語解析部１０２は、述語構造解析結果を保存する。より詳細には、言語解析部１０２は、述語構造解析処理においてエラーが生じない限り、述語構造解析結果を保存する。尚、エラーが生じた場合、言語解析部１０２は、例えば、処理対象となるIND文を廃棄する。
【０１２０】
ステップＳ１４において、言語解析部１０２は、未処理のIND文が存在するか否かを判定し、存在する場合、処理は、ステップＳ１１に戻る。すなわち、未処理のIND文がなくなるまで、ステップＳ１１乃至Ｓ１４の処理が繰り返される。そして、ステップＳ１４において、全てのIND文が処理されて、未処理のIND文が存在しないと判定された場合、処理は、ステップＳ１５に進む。
【０１２１】
ここで、図８を参照して、保存された述語項構造解析の結果のデータの例について説明する。
【０１２２】
述語項構造を解析するとは、入力文が、「銀座でおいしい寿司屋を教えて」である場合、例えば、深層格解析で解析されるとき、図８の例Ｅｘ１１で示されるような構造として解析される。すなわち、「銀座で」が、場所格として、「おいしい」が連体修飾節として、「寿司屋を」が対象格として、「教えて」が述語節として解析される。
【０１２３】
また、同様の入力文において、表層格解析で解析されるとき、図８の例Ｅｘ１２で示されるような構造として解析される。すなわち、「銀座で」が、デ格として、「おいしい」が形容詞として、「寿司屋を」がヲ格として、「教えて」が動詞として解析される。
【０１２４】
述語項構造解析に際しては、深層格解析や表層格解析などを切り替えられるように設定し、いずれかをユーザが選択できるようにしてもよい。
【０１２５】
このように、解析結果で動詞句の位置や名詞句で対象格になる部分など（英語ならば目的語など）が決定される。
【０１２６】
尚、例えば、処理対象となるIND文が「近場で美味しいレストランは？」といった場合、IND文に述語が無く、述語項構造解析がうまくいかない場合がある。このような場合、所定のルールに基づいて、省略されている述語を補完し述語項構造の解析結果を補間できるようにしてもよい。
【０１２７】
ステップＳ１５において、置換箇所設定部１０３は、ステップＳ１３の処理において保存された述語項構造解析の解析結果を入力とし予め指定された置換条件を設定し、設定結果を辞書照会部１０４に供給する。
【０１２８】
＜置換条件＞
ここで、置換条件について説明する。置換条件には置換方式と置換箇所がある。
【０１２９】
まず、置換方式には、大きく以下の２方式があり、例えば、そのいずれかに設定される。
【０１３０】
より詳細には、置換方式の第一の方式は、Action固定（述部固定）Category置換（対象格置換）方式であり、第二の方式は、Category固定（対象格固定）Action置換（述部置換）方式である。
【０１３１】
Action固定（述部固定）Category置換（対象格置換）方式は、例えば、入力文が、「７時にアラームを設定して」である場合、図９の例Ｅｘ２１の上段の１）で示されるように、「設定して」である述部（Action）を固定し、対象格（Category）である「アラーム」を置換する方式であり、例Ｅｘ２１の１）においては、「アラーム」が、「物性」に置換されている。
【０１３２】
また、Category固定（対象格固定）Action置換（述部置換）方式は、例えば、入力文が、「７時にアラームを設定して」である場合、図９の例Ｅｘ２１の下段の２）で示されるように、対象格（Category）である「アラーム」を固定し、「設定して」である述部（Action）を置換する方式であり、例Ｅｘ３１の２）においては、「設定して」が、「解放して」に置換されている。
【０１３３】
尚、述部が２カ所ある文や、対象格以外の格を指定したい場合（時間格、道具格など）の設定や、句の境界の設定などは、ユーザが任意に指定できるようにして、指定内容に応じて切り替えられるようにしてもよい。
【０１３４】
＜置換方式がAction固定、Category置換方式の場合の置換箇所＞
置換方式がAction固定、Category置換方式の場合の置換箇所は、例えば、図１０の例Ｅｘ２２で示されるように設定される。
【０１３５】
処理対象となるIND文が、例えば、「今週末駅の近くでおすすめのスポット教えて」である場合、ヲ格を置換指定場所に指定した場合置換箇所設定部１０３は、例Ｅｘ２２の最上段で示されるように、分ち書き単位の構造として、「今週末」、「駅の」、「近く」、「で」、「おすすめ」、「の」、「スポット」、および「教えて」に分割する。
【０１３６】
また、置換箇所設定部１０３は。特定の単語や句の分かち書き単位に関して必要に応じて１つの句にまとめる設定をルールや単語辞書を使って変更する事ができてもよい。例えば、例Ｅｘ２２の上から２段目で示されるように、「今週末」、「駅の近く」、「で」、「おすすめ」、「の」、「スポット」、および「教えて」のように調整する。
【０１３７】
さらに、置換箇所設定部１０３は、この調整された分ち書き単位の構造から置換箇所のうち、例えば、例Ｅｘ２２の上から３段目で示されるように、「おすすめ」をヲ格でかかる単語群で置換する。
【０１３８】
この様に１カ所だけ単語を変換することはCOOD文を作るのに有効であるが、さらにデ格である「駅の近く」を置換対象に加えたり、ヲ格の「スポット」は置換せずにデ格の「駅の近く」のみ置換するなどの設定バリエーションを加える事もできる。
【０１３９】
＜置換方式がCategory固定、Action置換の場合の置換箇所＞
置換方式がCategory固定（対象格固定）、Action置換（述部置換）の場合の置換箇所は、例えば、図１１の例Ｅｘ２３で示されるように設定される。
【０１４０】
処理対象となるIND文が、例えば、「今週末駅の近くでおすすめのスポット教えて」である場合、述部が置換場所に指定される場合、置換箇所設定部１０３は、例Ｅｘ２３の最上段で示されるように、分ち書き単位の構造として、「今週末」、「駅の」、「近く」、「で」、「おすすめ」、「の」、「スポット」、および「教えて」に分割する。
【０１４１】
さらに、置換箇所設定部１０３は、この調整された分ち書き単位の構造から置換箇所のうち、例えば、例Ｅｘ２３の上から３段目で示されるように、ヲ格「おすすめ」の係り元である「教えて」を同じ「おすすめ」をヲ格に持つ類似の語義の述語で置換する。また、ヲ格に同じ「おすすめ」を持たない非類似の語義の述語で置換するという設定を行ってもよい。
【０１４２】
前記の置換する述語の選択基準はヲ格にどういう単語を持つかで判断するだけではなく、デ格やニ格など他の項の単語の類似性、非類似性で判断することもできる。
【０１４３】
ステップＳ１６において、辞書照会部１０４は、言語解析部１０２に述語構造解析結果の保存データのうちの未処理の１個のIND文を読み出して処理対象のIND文として受け付ける。
【０１４４】
ステップＳ１７において、辞書照会部１０４は、設定結果に基づいて、指定された置換方式に応じて置換箇所を特定し、置換箇所の単語の項に対応する名詞句や、語義に対応する述語を、格フレーム辞書１０７を参照して検索する。
【０１４５】
ステップＳ１８において、辞書照会部１０４は、処理対象となるIND文、置換に関する設定情報、および検索結果を、それぞれ対応付けて保存する。
【０１４６】
ステップＳ１９において、辞書照会部１０４は、述語構造解析結果の保存データのうち、未処理のIND文があるか否かを判定し、未処理のIND文がある場合、処理は、ステップＳ１６に戻る。すなわち、述語構造解析結果の保存データである全てのIND文について、置換候補を検索する処理が完了するまで、ステップＳ１６乃至Ｓ１９の処理が繰り返される。そして、ステップＳ１９において、全てのIND文について、置換候補を検索する処理が完了し、未処理のIND文がないとみなされた場合、処理は、ステップＳ２０に進む。
【０１４７】
尚、日本語における述語項構造解析結果が、図１２で示されるような場合、置換方式がAction固定Category置換方式のときには、図１３で示されるように、述語項（ヲ格）を置換する単語群が検索される。また、述語項構造解析結果が、図１２で示されるような場合、Category固定Action置換方式のときには、図１４で示されるように、述語部分を置換する単語群が検索される。このような置換により、例えば、図１５で示されるような日本語のOOD候補文として生成される。
【０１４８】
また、図１２の述語項構造解析結果に対応する英語の述語項構造解析結果が、図１６で示されるような場合、置換方式がAction固定Category置換方式のときには、図１７で示されるように、述語項を置換する単語群が検索される。また、述語項構造解析結果が、図１６で示されるような場合、Category固定Action置換方式のときには、図１８で示されるように、述語部分を置換する単語群が検索される。このような置換により、例えば、図１９で示されるような英語のOOD候補文として生成される。
【０１４９】
以下、図１２乃至図１５を参照して日本語の述語項構造解析結果の例、置換方式がAction固定Category置換方式であるときの検索結果、Category固定Action置換方式であるときの検索結果、およびOOD候補文の例について説明する。また、図１６乃至図１９を参照して、英語の述語項構造解析結果の例、置換方式がAction固定Category置換方式であるときの検索結果、Category固定Action置換方式であるときの検索結果、およびOOD候補文の例について説明する。
【０１５０】
＜日本語の述語項構造解析結果の例＞
図１２においては、述語項構造解析結果の例が示されており、左から文ID、文、述語、述語語尾、述語項、および元のドメインが示されている。また、述語項は、左から場所格またはデ格（場所格orデ格）、連体修飾節またはノ格（連体修飾節orノ格）、・・・対象格またはヲ格（対象格orヲ格）が示されている。
【０１５１】
より詳細には、文IDが1の文“7時にアラームを設定して”においては、述語が“設定”であり、述語語尾が“して”であり、対象格またはヲ格が“アラーム”であり、元のドメインがALARM-SETUPであることが示されている。
【０１５２】
また、文IDが1001の文“銀座でおいしい寿司屋を教えて”においては、述語が“教え”であり、述語語尾が“て”であり、場所格またはデ格が“銀座”であり、対象格またはヲ格が“寿司屋”であり、元のドメインがRESTAURANT-SEARCHであることが示されている。
【０１５３】
さらに、文IDが1002の文“イタリアンのレストランを教えて”においては、述語が“教え”であり、述語語尾が“て”であり、連体修飾節またはノ格が“イタリアン”であり、対象格またはヲ格が“レストラン”であり、元のドメインがRESTAURANT-SEARCHであることが示されている。
【０１５４】
また、文IDが1003の文“イタリアンのコースの食べれるレストランをさがしてください”においては、述語が“さが”であり、述語語尾が“してください”であり、連体修飾節またはノ格が“イタリアン”、“コース”であり、対象格またはヲ格が“レストラン”であり、元のドメインがRESTAURANT-SEARCHであることが示されている。
【０１５５】
＜日本語の置換方式がAction固定Category置換方式のときの対象格を置換する単語群の例＞
図１３は、図１２で示される述語項構造解析結果の文に対して、置換方式がAction固定Category置換方式において置換する述語項のうち、対象格またはヲ格を置換するときの単語群の例が示されている。
【０１５６】
図１３においては、左から文ID、文、述語、述語語尾、項の置換単語、および元のドメインが示されている。また、項の置換単語は、左からデ格（場所格またはデ格）、ノ格（連体修飾節またはノ格）、・・・ヲ格（対象格またはヲ格）が示されている。図１３においては、このうちヲ格（対象格またはヲ格）を置換するときの単語群の例が示されている。尚、図１３における、図１２と対応する項目については、同一の記載とされているので、その説明は適宜省略する。
【０１５７】
すなわち、文IDが1の場合、ヲ格である“アラーム”の置換単語の例として、“会議”、“参加者”および“移動時間”が示されている。
【０１５８】
また、文IDが1001の場合、ヲ格である“寿司屋”の置換単語の例として、“ニュース”、“仕組み”、“人生”、“流れ“、および”芸”が示されている。
【０１５９】
さらに、文IDが1002の場合、ヲ格である“レストラン”の置換単語の例として、“ニュース”、“仕組み”、“人生”、“流れ“、および”芸”が示されている。
【０１６０】
また、文IDが1003の場合、ヲ格である“レストラン”の置換単語の例として、“外科”、”オフィス”、“親父”、“自動車”、”講座”、および“一戸建て”が示されている。
【０１６１】
＜日本語の置換方式がCategory固定Action置換方式における述語を置換する単語群の例＞
図１４は、図１２で示される文に対して、置換方式がCategory固定Action置換方式における述語を置換するときの単語群の例が示されている。
【０１６２】
図１４においては、左から文ID、文、述語、述語語尾、述語の置換単語、および元のドメインが示されている。尚、図１４における、図１２と対応する項目については、同一の記載とされているので、その説明は適宜省略する。
【０１６３】
すなわち、文IDが1の場合、述語である“設定”の置換単語の例として、“改善する”、“装備する”、および”装着する”が示されている。
【０１６４】
また、文IDが1001，1002の場合、述語である“教え”の置換単語の例として、“抜け出す”、“食べ歩く”、“開業する”、“買い取る“、”手伝う”、”切り盛りする”、および“格付ける”が示されている。
【０１６５】
さらに、文IDが1003の場合、述語である“さが”の置換単語の例として、“営む”、“開く”、“手伝う”、“利用する”、“特集する”、“下見する”、および“探し当てる”が示されている。
【０１６６】
＜置換生成される日本語のOOD候補文の例＞
（Action固定Category置換方式のOOD候補文の例）
まず、図１５の左部を参照して、上述した処理により置換生成される日本語のOOD候補文の例のうち、Action固定Category置換方式のOOD候補文の例について説明する。
【０１６７】
すなわち、図１５の左部で示されるように、図１２における文IDが1の文“7時にアラームを設定して”に対するOOD候補文の例として、「7時に会議を設定して」、および「7時に参加者を設定して」が示されている。すなわち、「アラーム」が「会議」、「参加者」にそれぞれ置換されている。
【０１６８】
また、図１２における文IDが1001の文“銀座でおいしい寿司屋を教えて”に対するOOD候補文の例として、「銀座でおいしいニュースを教えて」、および「銀座でおいしい仕組みを教えて」が示されている。すなわち、「寿司屋」が「ニュース」、「仕組み」にそれぞれ置換されている。
【０１６９】
さらに、図１２における文IDが1002の文“イタリアンのレストランを教えて”に対するOOD候補文の例として、「イタリアンのニュースを教えて」、および「イタリアンの仕組みを教えて」が示されている。すなわち、「レストラン」が「ニュース」、「仕組み」にそれぞれ置換されている。
【０１７０】
また、図１２における文IDが1003の文“イタリアンのコースの食べれるレストランをさがしてください”に対するOOD候補文の例として、「イタリアンのコースを食べれる外科をさがして」、および「イタリアンのコースを食べれるオフィスをさがして」が示されている。すなわち、「レストラン」が「外科」、「コース」にそれぞれ置換されている。
【０１７１】
（Category固定Action置換方式のOOD候補文の例）
次に、図１５の右部を参照して、上述した処理により置換生成される日本語のOOD候補文の例のうち、Category固定Action置換方式のOOD候補文の例について説明する。
【０１７２】
すなわち、図１５の右部で示されるように、図１２における文IDが1の文“7時にアラームを設定して”に対するOOD候補文の例として、「7時にアラームを改善して」、および「7時にアラームを装備して」が示されている。すなわち、「設定」が「改善」、「装備」にそれぞれ置換されている。
【０１７３】
また、図１２における文IDが1001の文“銀座でおいしい寿司屋を教えて”に対するOOD候補文の例として、「銀座でおいしい寿司屋を抜け出して」、および「銀座でおいしい寿司屋を食べ歩いて」が示されている。すなわち、「教えて」が「抜け出して」、「食べ歩いて」にそれぞれ置換されている。
【０１７４】
さらに、図１２における文IDが1002の文“イタリアンのレストランを教えて”に対するOOD候補文の例として、「イタリアンのレストランを抜け出して」、および「イタリアンのレストランを食べ歩いて」が示されている。すなわち、「教えて」が「抜け出して」、「食べ歩いて」にそれぞれ置換されている。
【０１７５】
また、図１２における文IDが1003の文“イタリアンのコースの食べれるレストランをさがしてください”に対するOOD候補文の例として、「イタリアンのコースの食べれるレストランを営んで」、および「イタリアンのコースの食べれるレストランを開いて」が示されている。すなわち、「さがして」が「営んで」、「開いて」にそれぞれ置換されている。
【０１７６】
＜英語の述語項構造解析結果の例＞
図１６においては、英語の述語項構造解析結果の例が示されており、左から文ID、文（Sentence）、述語（verb：Action）、述語項（Argument）、および元のドメイン（Original Domain）が示されている。また、述語項は、左からinで述語に係る項（prep_in）、・・・対象格（dobj）が示されている。
【０１７７】
尚、英語の述語語項構造解析は、Stanford Parser（詳細については、Marie-Catherine de Marneffe and Christopher D. Manning 2008 Revised for the Stanford Parser v. 3.3 in December 2013. “Stanford typed dependencies manual”を参照されたい）の解析結果を例としている。dobjは述語に係る項の意味役割（格）が対象格であることを表している。
【０１７８】
より詳細には、文IDが1の文“find a Chinese buffet nearby”においては、述語が“find”であり、対象格（dobj）が“Chinese buffet”であり、元のドメインがAREA_INFO-SEARCH_EVENTであることが示されている。
【０１７９】
また、文IDが2の文“find Chinese food in Austin”においては、述語が“find”であり、inで述語に係る項（prep_in）が“Austin”であり、対象格（dobj）が“Chinese food”であり、元のドメインがAREA_INFO-SEARCH_EVENTであることが示されている。
【０１８０】
さらに、文IDが1537の文“turn on some tunes please”においては、述語が“turn on”であり、対象格（dobj）が“tunes”であり、元のドメインがMUSIC_PLAYであることが示されている。
【０１８１】
また、文IDが1538の文“I'd like to hear some Beatles”においては、述語が“hear”であり、対象格（dobj）が“Beatles”であり、元のドメインがMUSIC_PLAYであることが示されている。
【０１８２】
＜英語の置換方式がAction固定Category置換方式のときの対象格を置換する単語群の例＞
図１７は、図１６で示される英語の述語項構造解析結果の文に対して、置換方式がAction固定Category置換方式において置換する述語項のうち、対象格（dobj）を置換するときの単語群の例が示されている。
【０１８３】
図１７においては、左から文ID、文（Sentence）、述語（verb）、項の置換単語（Argument）、および元のドメイン（Original Domain）が示されている。また、項の置換単語は、左からinで述語に係る項（prep_in）、・・・対象格（dobj）が示されている。図１７においては、このうち対象格（dobj）を置換するときの単語群の例が示されている。尚、図１７における、図１６と対応する項目については、同一の記載とされているので、その説明は適宜省略する。
【０１８４】
すなわち、文IDが1の文“find a Chinese buffet nearby”の場合、対象格である“Chinese buffet”の置換単語の例として、“victim”,“bomb”,“cache”、および“remains”が示されている。
【０１８５】
また、文IDが2の文“find Chinese food in Austin”の場合、対象格である“Chinese food”の置換単語の例として、“victim”,“bomb”,“cache”、および“remains”が示されている。
【０１８６】
さらに、文IDが1537の文“turn on some tunes please”の場合、対象格である“tunes”の置換単語の例として、“light”,“power”、および“you”が示されている。
【０１８７】
また、文IDが1538の文“I'd like to hear some Beatles”の場合、対象格である“Beatles”の置換単語の例として、“team-mate”,“boss”、および“neighbor”が示されている。
【０１８８】
＜英語の置換方式がCategory固定Action置換方式における述語を置換する単語群の例＞
図１８は、図１６で示される文に対して、置換方式がCategory固定Action置換方式における述語を置換するときの単語群の例が示されている。
【０１８９】
図１８においては、左から文ID、文、述語、述語語尾、述語の置換単語、および元のドメインが示されている。尚、図１８における、図１６と対応する項目については、同一の記載とされているので、その説明は適宜省略する。
【０１９０】
すなわち、文IDが1の文“find a Chinese buffet nearby”の場合、述語（verb：Action）である“find”の置換単語の例として、“include”,“open”,“run”、および“operate”が示されている。
【０１９１】
また、文IDが2の文“find Chinese food in Austin”の場合、述語である“find”の置換単語の例として、“include”,“open”,“run”、および“operate”が示されている。
【０１９２】
さらに、文IDが1537の文“turn on some tunes please”の場合、述語である“turn on”の置換単語の例として、“download”,“record”、および“compose”,が示されている。
【０１９３】
また、文IDが1538の文“I'd like to hear some Beatles”の場合、述語である“hear”の置換単語の例として、“work with”,“copy”、および“remove”が示されている。
【０１９４】
＜置換生成される英語のOOD候補文の例＞
（Action固定Category置換方式のOOD候補文の例）
まず、図１９の左部を参照して、上述した処理により置換生成される英語のOOD候補文の例のうち、Action固定Category置換方式のOOD候補文の例について説明する。
【０１９５】
すなわち、図１９の左部で示されるように、図１６における文IDが1の文“find a Chinese buffet nearby”に対するOOD候補文の例として、“find a bomb nearby”、および“find a victim nearby”が示されている。すなわち、“Chinese buffet”が“bomb”、“victim”にそれぞれ置換されている。
【０１９６】
また、図１６における文IDが2の文“find Chinese food in Austin”に対するOOD候補文の例として、“find cache in Austin”、および“find remains in Austin”が示されている。すなわち、“Chinese food”が“cache”、“remains”にそれぞれ置換されている。
【０１９７】
さらに、図１６における文IDが1537の文“turn on some tunes please”に対するOOD候補文の例として、“turn on light please”、および“turn on power please”が示されている。すなわち、“some tunes”が“light”、“power”にそれぞれ置換されている。
【０１９８】
また、図１６における文IDが1538の文“I'd like to hear some Beatles”に対するOOD候補文の例として、“I'd like to hear team-mate”、および“I'd like to hear neighbor”が示されている。すなわち、“Beatles”が“team-mate”、“neighbor”にそれぞれ置換されている。
【０１９９】
（Category固定Action置換方式のOOD候補文の例）
次に、図１９の右部を参照して、上述した処理により置換生成される英語のOOD候補文の例のうち、Category固定Action置換方式のOOD候補文の例について説明する。
【０２００】
すなわち、図１６の右部で示されるように、図１６における文IDが1の文“find a Chinese buffet nearby”に対するOOD候補文の例として、“Open Chinese buffet nearby”、および“Operate Chinese buffet nearby”が示されている。すなわち、“find”が“Open”、“Operate”にそれぞれ置換されている。
【０２０１】
また、図１６における文IDが2の文“find Chinese food in Austin”に対するOOD候補文の例として、“Open Chinese food in Austin”、および“Operate Chinese food in Austin”が示されている。すなわち、“find”が“Open”、“Operate”にそれぞれ置換されている。
【０２０２】
さらに、図１６における文IDが1537の文“turn on some tunes please”に対するOOD候補文の例として、“Record some tunes please”、および“Compose some tunes please”が示されている。すなわち、“turn on”が“Record”、“Compose”にそれぞれ置換されている。
【０２０３】
また、図１６における文IDが1538の文“I'd like to hear some Beatles”に対するOOD候補文の例として、“I’d like to copy some Beatles”、および“I’d like to remove some Beatles”が示されている。すなわち、“hear”が“copy”、“remove”にそれぞれ置換されている。
【０２０４】
＜COOD文になりすい単語の格フレーム辞書からの検索方法＞
次に、COOD文になりすい単語を格フレーム辞書１０７から検索する方法について述べる。
【０２０５】
図２０に格フレーム辞書の簡単なイメージを示す。
【０２０６】
例えば、深層格解析の場合、「設定する」という述部であるときには、例えば、図２０の例Ｅｘ３１で示されるように、「設定する」として、＜設定する４＞および＜設定する８＞の２種類の格フレーム例が挙げられている。尚、末尾の番号は、同一の「設定する」のうちの異なる語義を識別する番号である。
【０２０７】
図２０の例Ｅｘ３１においては、＜設定する４＞では、それぞれの役割を持った述語項としてどのような単語が係るかが表されている。（）の中は単語と数字で表されている。数字はその単語と述語と結びついた回数（頻度）を表している。例えば（“会議”、41）というのは、格フレーム辞書を作る元になった大量のコーパスデータの中で「会議」という単語が＜設定する４＞という語義に対象格として４１回係った事を表している。この数値は重みの様な別の指標でもよいし、母集団によりノーマライズして使用するようにしてもよいし、指標を乗算するなどして組み合わせて使用するようにしてもよい。
【０２０８】
図２０の例Ｅｘ３１においては、「設定する４」では、動作主として、（“システム”，83）、（“会社”，42）、（“学校”，33）、（“上司”，18）が挙げられており、対象格として（“会議”，41）、（“参加者”，27）、（“移動時間”，10）が挙げられており、道具格として（“ＰＣ（パーソナルコンピュータ）”，95）、（“スケジューラ”，72）、（“スマホ”，33）が挙げられている。
【０２０９】
また、例Ｅｘ３１においては、「設定する８」では、動作主格として、（“妻”，40）、（“娘”，33）、（“息子”，28）、（“母”，13）が挙げられており、対象格として（“アラーム”，52）、（“目覚まし”，48）、（“タイマ”，42）が挙げられており、道具格として（“目覚まし”，94）、（“時計”，48）、（“携帯”，35）、（“スマホ”，19）が挙げられている。
【０２１０】
さらに、例Ｅｘ３１においては、「設定する」と表記が異なり語義が類似する格フレームとして＜セットする１＞が挙げられており、この場合、動作主格として、（“彼女”，56）、（“父”，52）、（“妻”，49）が挙げられており、対象格として（“タイマ”，67）、（“スリープタイマ”，42）、（“アラーム”，41）が挙げられており、道具格として（“炊飯器”，52）、（“エアコン”，45）、（“ラジオ”，32）、（“携帯”，12）が挙げられている。
【０２１１】
さらに、例Ｅｘ３１においては、「設定する」とは表記が異なり語義が類似しない格フレームとして＜改善する１５＞が挙げられており、この場合、動作主格として、（“手法”，102）、（“品質”，73）、（“工程”，67）が挙げられており、対象格として（“動作”，81）、（“性能”，75）、（“アラーム”，2）が挙げられており、道具格として（“交換”，58）、（“工夫”，49）、（“方法”，41）が挙げられている。
【０２１２】
「７時にアラームを設定して」という元のIND文を例に、深層格解析を用いた置換による文生成の処理を説明する。
【０２１３】
Action（述部）固定Category（対象格）置換モードの場合、述部である“設定する”が固定されると、対象格に“アラーム”を持たない＜設定する４＞が選択される。＜設定する４＞は対象格に“アラーム”という単語を含まず、そのかわりに（“会議”，41）、（“参加者”，27）、（“移動時間”，10）といった異なる意味クラスの単語が含まれる。これらの単語で置換して新たなコーパスが生成されることで「設定する」の語義が微妙に異なるCOOD文の候補を作ることができる。
【０２１４】
Category（対象格）固定Action（述部）置換モードの場合、対象格である“アラーム”が固定されると、同じ“アラーム”を対象格にもつ表記の異なる格フレーム＜セットする １＞＜改善する １５＞が選択される。どちらも対象格に“アラーム”という同じ単語を含むが、＜セットする １＞においては、“アラーム”の頻度は４１回であるのに対して、＜改善する １５＞は“アラーム”の頻度は２回と少ない。この様な述語は語義が微妙に異なる可能性が高い。タイマ機能にはあまり関連しない意味クラスの単語群が含まれる。この様に、固定した単語を同じ項に持ち、かつ、その単語の頻度や関係の強さを表す値nが、ある閾値αより少ないという条件を満たす述語を選択する。
【０２１５】
元の述語を「改善する」で置換して新たなコーパスが生成することで語義が微妙に異なるCOOD文の候補「７時にアラームを改善して」を作ることができる。
【０２１６】
また、表層格解析の場合、「設定する」という述部であるときには、例えば、図２０の例Ｅｘ３２で示されるように、「設定する」には、使用する形態として、「設定する４」および「設定する８」の二つが例として挙げられている。
【０２１７】
例Ｅｘ３２においては、「設定する４」では、ガ格として、（“システム”，83）、（“会社”，42）、（“学校”，33）、（“上司”，18）が挙げられており、ヲ格として（“会議”，41）、（“参加者”，27）、（“移動時間”，10）が挙げられており、デ格として（“ＰＣ（パーソナルコンピュータ）”，95）、（“スケジューラ”，72）、（“スマホ”，33）が挙げられている。
【０２１８】
また、例Ｅｘ３２においては、「設定する８」では、ガ格として、（“妻”，40）、（“娘”，33）、（“息子”，28）、（“母”，13）が挙げられており、ヲ格として（“アラーム”，52）、（“目覚まし”，48）、（“タイマ”，42）が挙げられており、デ格として（“目覚まし”，94）、（“時計”，42）、（“携帯”，35）、（“スマホ”，19）が挙げられている。
【０２１９】
さらに、例Ｅｘ３２においては、「設定する」に類似する語義として「セットする１」が挙げられており、この場合、ガ格として、（“彼女”，56）、（“父”，52）、（“妻”，49）が挙げられており、ヲ格として（“タイマ”，67）、（“スリープタイマ”，42）、（“アラーム”，41）が挙げられており、デ格として（“炊飯器”，52）、（“エアコン”，45）、（“ラジオ”，32）、（“携帯”，12）が挙げられている。
【０２２０】
さらに、例Ｅｘ３２においては、「設定する」とは表記が異なり語義が類似しない格フレームとして＜改善する 15＞が挙げられており、この場合、ガ格として、（“手法”，102）、（“品質”，73）、（“工程”，67）が挙げられており、ヲ格として（“動作”，81）、（“性能”，75）、（“アラーム”，2）が挙げられており、デ格として（“交換”，58）、（“工夫”，49）、（“方法”，41）が挙げられている。
【０２２１】
同じく「７時にアラームを設定して」という元のIND文を例に、表層格解析を用いた置換による文生成の処理を説明する。
【０２２２】
Action（述部）固定Category（ヲ格）置換モードの場合、述部である「設定する」が固定されると、ヲ格に“アラーム”を持たない＜設定する４＞が選択される。＜設定する４＞はヲ格に“アラーム”という単語を含まず、そのかわりに（“会議”，41）、（“参加者”，27）、（“移動時間”，10）といった異なる意味クラスの単語が含まれる。これらの単語で置換して新たなコーパスが生成されることで「設定する」の語義が微妙に異なるCOOD文の候補「７時に参加者を設定して」等を作ることができる。
【０２２３】
Category（ヲ格）固定Action（述部）置換モードの場合、対象格である“アラーム”が固定されると、同じ“アラーム”をヲ格にもつ表記の異なる格フレーム＜セットする １＞＜改善する １５＞が選択される。どちらも対象格に“アラーム”という同じ単語を含むが、＜セットする １＞においては、“アラーム”の頻度は４１回であるのに対して、＜改善する １５＞は“アラーム”の頻度は２回と少ない。この様な述語は語義が微妙に異なる可能性が高い。タイマ機能にはあまり関連しない意味クラスの単語群が多く含まれる。この様に、固定した単語を同じ項に持ち、かつ、その単語の頻度や関係の強さを表す値nが、ある閾値αより少ないという条件を満たす述語を選択する。
【０２２４】
元の述語を「改善する」で置換して新たなコーパスが生成されることで語義が微妙に異なりCOOD文の候補「７時にアラームを改善して」を作ることができる。
【０２２５】
尚、格フレーム辞書１０７については、既存のものを利用するようにしてもよい。また、汎用的な既存の格フレーム辞書にはドメインとなるサービス目的で使う単語があまり含まれていない事も考えられるので、サービスに必要な単語を集めて編纂されたユーザ定義格フレーム辞書を追加できるようにしてもよい。
【０２２６】
既存の格フレーム辞書１０７については、例えば、Daisuke Kawahara and Sadao Kurohashi.著のA Fully-Lexicalized Probabilistic Model for Japanese Syntactic and Case Structure Analysis, In Proceedings of the Human Language Technology Conference of the North American Chapter of the Association for Computational Linguistics (HLT-NAACL2006), pp.176-183, 2006.、または、Case Frame Compilation from the Web using High-Performance Computing, In Proceedings of the 5th International Conference on Language Resources and Evaluation (LREC2006), 2006を参照されたい。同辞書は述語の項の単語の頻度情報が付加されており、これを前記の述語と項単語の関係の強さに利用することができる。
【０２２７】
ここで、図７のフローチャートの説明に戻る。
【０２２８】
ステップＳ２０において、置換実行部１０５は、保存されている検索結果のうち、未処理のIND文を処理対象のIND文として読み出すと共に、対応付けて保存されている、置換に関する設定情報、および検索結果を読み出して、受け付ける。
【０２２９】
ステップＳ２１において、置換実行部１０５は、処理対象となるIND判定文、置換に関する設定情報、および検索結果に基づいて、処理対象となるIND判定文の置換対象となる単語を、検索結果のうち未処理の検索結果に基づいて置換してコーパスを生成し、活用や語尾を調整する。
【０２３０】
ステップＳ２２において、置換実行部１０５は、生成したコーパスを一次置換生成文として保存する。
【０２３１】
ステップＳ２３において、置換実行部１０５は、保存されている検索結果のうち、未処理のIND文があるか否かを判定し、存在する場合、処理は、ステップＳ２０に戻る。すなわち、全てのIND文に対して、検索結果に基づいて、置換によりコーパスが生成されるまで、ステップＳ２０乃至Ｓ２３の処理が繰り返される。そして、ステップＳ２３において、未処理のIND文が存在しないとみなされた場合、処理は、ステップＳ２４に進む。
【０２３２】
ステップＳ２４において、重文排除部１０６は、ステップＳ２２の処理により保存されたコーパスのうち、未処理のコーパスを読み出して、処理対象のコーパスとして受け付ける。
【０２３３】
ステップＳ２５において、重文排除部１０６は、処理対象のコーパスと、それまでに生成され、ステップＳ２２の処理により保存されたコーパスと重複する文（重文）がないかを判定する。より詳細には、重文排除部１０６は、新たに生成されたコーパスとして記憶しているコーパス群より、処理対象に設定されたコーパスを検索し、一致するものの有無により重文であるか否かを判定する。ステップＳ２５において、重文であると判定された場合、処理は、ステップＳ２６に進む。
【０２３４】
ステップＳ２６において、重文排除部１０６は、生成されたコーパスが重文であり、破棄判定文であるとみなし、生成されたコーパスを廃棄処理する。
【０２３５】
一方、ステップＳ２５において、生成されたコーパスが重文ではないと判定された場合、処理は、ステップＳ２７に進む。
【０２３６】
ステップＳ２７において、重文排除部１０６は、処理対象である置換生成されたコーパスを置換生成文記憶部１０９に記憶させる。
【０２３７】
ステップＳ２８において、置換実行部１０５は、未処理の検索結果があるか否かを判定し、未処理の検索結果がある場合、処理は、ステップＳ２４に戻る。
【０２３８】
そして、ステップＳ２８において、未処理の検索結果がないとみなされた場合、処理は、ステップＳ２９に進む。
【０２３９】
ステップＳ２９において、置換実行部１０５は、現状で重文として排除されずに保存されているコーパスを最終の置換生成文として置換生成文記憶部１０９に記憶させる。
【０２４０】
ステップＳ３０において、フィルタリング処理部１１０は、フィルタリング処理を実行して、置換生成文記憶部１０９に記憶されている新たに生成された置換生成文からなるコーパスをOOD判定文、COOD判定文、IND判定文、およびCIND判定文のコーパスに分類する。尚、フィルタリング処理については、図２１のフローチャートを参照して詳細を後述する。
【０２４１】
以上の処理により、IND文に基づいて、単語の置換により新たなコーパスを置換生成文として生成することが可能となる。
【０２４２】
また、以上の処理により、図１５で示されるような日本語のOOD候補文や図１９で示されるような英語のOOD候補文が生成される。
【０２４３】
＜フィルタリング処理＞
次に、図２１のフローチャートを参照して、フィルタリング処理部１１０によるフィルタリング処理について説明する。
【０２４４】
ステップＳ３１において、意味解析器１３１は、置換生成文記憶部１０９に記憶されている置換生成文からなるコーパスのうち、未処理の置換生成文からなるコーパスを処理対象のコーパスとして受け付ける。
【０２４５】
ステップＳ３２において、意味解析器１３１は、処理対象の置換生成文からなるコーパスが、IND判定文であるか否かを判定する。ステップＳ３２において、IND判定文であるとみなされた場合、処理は、ステップＳ３３に進む。
【０２４６】
ステップＳ３３において、意味解析器１３１は、処理対象となる置換生成文からなるコーパスをIND判定文記憶部１３２に記憶させる。
【０２４７】
一方、ステップＳ３２において、IND判定文ではないとみなされた場合、すなわち、処理対象の置換生成文からなるコーパスがOOD判定文であるとみなされた場合、処理は、ステップＳ３４に進む。
【０２４８】
ステップＳ３４において、意味解析器１３１は、処理対象となる置換生成文をOOD判定文であるものとみなし、OOD判定文記憶部１３６に記憶させる。
【０２４９】
ステップＳ３５において、意味解析器１３１は、置換生成文記憶部１０９において、未処理の置換生成文があるか否かを判定し、未処理の置換生成文が存在すると判定する場合、処理は、ステップＳ３１に戻り、それ以降の処理が繰り返される。すなわち、未処理の入力文がないとみなされるまで、全ての置換生成文が、IND判定文であるか否かが判定されて、IND判定文がIND判定文記憶部１３２に記憶され、それ以外であるOOD判定文がOOD判定文記憶部１３６に記憶される処理が繰り返される。
【０２５０】
そして、ステップＳ３５において、未処理の置換生成文がないとみなされると、処理は、ステップＳ３６に進む。すなわち、ここまでの処理により、置換生成文記憶部１０９に記憶されていた置換生成文からなる群が、古いバージョンのコーパスを用いた学習により生成された意味解析器１３１により、IND判定文とOOD判定文とに分類されて、それぞれが、IND判定文記憶部１３２およびOOD判定文記憶部１３６に記憶される。
【０２５１】
ステップＳ３６において、COODコーパス抽出部１３３は、COODコーパス抽出処理を実行して、IND判定文とみなされたコーパスのドメインよりCOOD判定文の候補を抽出して、COOD判定文記憶部１３４に記憶させると共に、残りのIND判定文を確定IND判定文として、確定IND判定文記憶部１３５に記憶させる。この際、IND判定文とみなされたコーパスのうち、非文とみなされるコーパスについては、廃棄判定文とみなされて、廃棄処理される。
【０２５２】
尚、COODコーパス抽出処理については、図２２のフローチャートを参照して、詳細を後述する。
【０２５３】
ステップＳ３７において、CINDコーパス抽出部１３７は、CINDコーパス抽出処理を実行して、OOD判定文とみなされたコーパスよりCIND判定文を抽出して、CIND判定文記憶部１３８に記憶させると共に、残りのOOD判定文を確定OOD判定文として確定OOD判定文記憶部１３９に記憶させる。この際、OOD判定文とみなされたコーパスのうち、非文とみなされるコーパスについては、廃棄判定文とみなされて、廃棄処理される。
【０２５４】
尚、CINDコーパス抽出処理については、図２６のフローチャートを参照して、詳細を後述する。
【０２５５】
以上の処理により、COOD判定文、確定IND判定文、CIND判定文、および確定OOD判定文とみなされるコーパスを効率よく、かつ、大量に生成することが可能となる。
【０２５６】
また、この処理の後、COOD判定文、確定IND判定文、CIND判定文、および確定OOD判定文とみなされるコーパスについては、人手による確認作業が必要となるが、予めCOOD判定文、確定IND判定文、CIND判定文、および確定OOD判定文のいずれかに分類されているため、確認作業に係る負荷を低減させることが可能となり、結果として、コーパスの開発コストを低減させることが可能となる。また、フレーム推定部１３、および意味解析部１４は、生成されたCOOD判定文、およびCIND判定文からなるコーパスを用いた学習により認識精度を向上させることが可能となる。
【０２５７】
＜COODコーパス抽出処理＞
次に、図２２のフローチャートを参照して、COODコーパス抽出処理について説明する。置換生成文からCOOD判定文を抽出する処理は人手で行うのが望ましいが、作業効率を上げるために以下のフィルタリングによるCOODコーパス抽出処理によりCOOD候補文をさらに絞り込むことが可能である。
【０２５８】
ステップＳ５１において、COODコーパス抽出部１３３は、IND判定文記憶部１３２に記憶されているIND判定文となるコーパスのうち、いずれか未処理のIND判定文となるコーパスの入力を受け付けて、処理対象コーパスとする。
【０２５９】
ステップＳ５２において、COODコーパス抽出部１３３は、非文判定部１３３ａを制御して、処理対象コーパスのPerplexity値を算出させる。
【０２６０】
ここで、Perplexity値とは、ある単語の次に来る単語の分岐数（候補数）をn-gram確率の逆数で表現したときの平均分岐数を表す値である。すなわち、複数の単語をランダムに組み合わせて生成された文と比較すると、意味のある文における単語間の結合確率は高くなり、連接する単語の分岐数が低くなるためPerplexity値は低くなる。逆に、意味のない文については、単語の結合確率が低くなるため、連接する単語の分岐数が高くなるため、Perplexity値は高くなる。
【０２６１】
すなわち、単語置換によって生成された文の中には意味の通らない文も存在する。例えば、「この近くにある評判のいいレストラン教えて」は意味が通るが、「レストラン」を「責任」に置換した文である「この近くにある評判のいい責任教えて」は、自然な意味とは解釈し難く、違和感がある。別の見方をすれば「責任」という単語は「評判」、および「いい」などの単語に連なって出現し難いと言える。
【０２６２】
英語の場合も同様である。“repeat phone number again”という文のrepeatをbreakに置換して作成した文”break phone number again”は、やはり自然な意味ではない。breakに続いてphone numberが出現する確率がきわめて低いと言える。もし単語間の連接確率(n-gram)をあらかじめ大量の文(Training Data)で学習(Training)しておけば、生成された文の確率的な妥当性を判定することができる。
【０２６３】
すなわち、Perplexity値は、生成された文の確率的な妥当性を判断する指標であるともいえる。
【０２６４】
生成された文のperplexity値の具体的な計算方法は、例えば、以下の通りである。尚、Perplexity値の算出方法の詳細については、Daniel Jurafsky著の2016“Language Modeling with N-grams”Chapter4,https://web.stanford.edu/~jurafsky/slp3/4.pdf 2016を参照されたい。
【０２６５】
確率的言語モデルでは、単語列は確率的に生成されるという考えに基づき、単語列（文）の結合確率P(w)をモデル化する。結合確率p(w)のモデル化の手法はいろいろあるが下記n-gramを使ったモデル化を例として示す。
【０２６６】
【数１】
2019021804.tif 000003
・・・（１）
【０２６７】
【数２】
2019021804.tif 000004
・・・（２）
【０２６８】
ここで、式（１）が、Bi-gram（n=2）の場合のn-gram確率モデルであり、式（２）が、Tri-gram（n=3）の場合のn-gram確率モデルである。
【０２６９】
言語モデルの学習においては、例えば、インターネットサイトや、News記事等のテキスト等大量の学習用テキスト(Training data)を用いて単語のn-gram確率を用いた上記のn-gramパラメータを学習する。
【０２７０】
このような学習においては、コーパスに現われない単語列が多いためほとんどのn-gramがゼロになる問題(Sparseness)があるため、ゼロ以外の値で補間するスムージング処理（Language Modeling Smoothing）とバックオフ処理(Back off)とが行われる。
【０２７１】
尚、スムージング処理（Language Modeling Smoothing）とバックオフ処理(Back off)とについては、Zhai & Lafferty著の2001, A Study of Smoothing Methods for Language Models Applied to Ad Hoc Information Retrievalを参照されたい。
【０２７２】
非文判定部１３３ａは、このように学習したn-gramモデルを用いて、生成されたコーパスに対して以下の式（３）で示されるPerplexity値を計算する。
【０２７３】
【数３】
2019021804.tif 000005
・・・（３）
【０２７４】
例えば、図２３の例Ｅｘ４１における例文１）で示されるように「この近くにある評判のいい責任を教えて」という文章は、不自然な意味の通らない文である。このような場合、例えば、「責任」と「いい」とのn-gram確率p(責任|いい)=1.90365e-05が低いため、Perplexity値PLLは、80.4152となる。
【０２７５】
また、例えば、図２３の例Ｅｘ４１における例文２）で示されるように「この近くにある評判のいいサーフィンを教えて」という文章は、やはり不自然な意味の通らない文である。しかしながら、このような場合、例えば、「サーフィン」と「いい」とのn-gram確率p(サーフィン|いい)=2.13532e-05が低いため、Perplexity値PLLは、70.6759となる。
【０２７６】
さらに、例えば、図２３の例Ｅｘ４１における例文３）で示されるように「この近くにある評判のいい店舗を教えて」という文章は、比較的意味の通る文である。このような場合、例えば、「店舗」と「いい」とのn-gram確率p(店舗|いい)=0.000105223であり比較的高めであるため、Perplexity値PLLは、57.4806となる。
【０２７７】
また、例えば、図２３の例Ｅｘ４１における例文４）で示されるように「この近くにある評判のいいマッサージを教えて」という文章は、意味の通る文である。このような場合、例えば、「マッサージ」と「いい」とのn-gram確率p(マッサージ|いい)=0.000378552であり比較的高めであるため、Perplexity値PLLは、57.0273となる。
【０２７８】
このように、意味の通る文からなるコーパスについては、n-gram確率が高くなり、Perplexity値は小さくなる。
【０２７９】
ステップＳ５３において、非文判定部１３３ａは、算出した処理対象コーパスのPerplexity値が、所定の閾値αより大きいか否かに基づいて、非文であるか否かを判定する。
【０２８０】
ステップＳ５３において、例えば、Perplexity値PLLが、所定の閾値αよりも大きい場合、処理は、ステップＳ５５に進む。
【０２８１】
ステップＳ５５において、非文判定部１３３ａは、処理対象のコーパスを非文とみなし、廃棄判定文として廃棄処理し、処理は、ステップＳ５６に進む。
【０２８２】
一方、ステップＳ５３において、例えば、Perplexity値PLLが、所定の閾値αよりも大きくない場合、すなわち、Perplexity値PLLが、所定の閾値αよりも小さい場合、非文判定部１３３ａは、処理対象コーパスが、意味の通る文であるとみなして、処理は、ステップＳ５４に進む。
【０２８３】
ステップＳ５４において、非文判定部１３３ａは、処理対象のコーパスを記憶する。
【０２８４】
ステップＳ５６において、COODコーパス抽出部１３３は、IND判定文記憶部１３２に記憶されているIND判定文となるコーパスのうち、未処理のIND判定文となるコーパスがあるか否かを判定し、未処理のIND判定文となるコーパスがある場合、処理は、ステップＳ５１に戻る。すなわち、全てのIND判定文についてPerplexity値PLLが算出されて、所定の閾値αとの比較により、非文ではなく、意味の通る文からなるコーパスであるか否かの判定がなされるまで、ステップＳ５１乃至Ｓ５６の処理が繰り返される。そして、ステップＳ５６において、全てのIND判定文についてPerplexity値PLLが算出されて、所定の閾値αとの比較により、非文ではなく、意味の通る文からなるコーパスであるか否かの判定がなされて、未処理のコーパスがないとみなされた場合、処理は、ステップＳ５７に進む。
【０２８５】
ステップＳ５７において、COODコーパス抽出部１３３は、ステップＳ５２，Ｓ５３の非文判定部１３３ａの処理により、非文ではなく、意味の通る文からなるコーパスとみなされて記憶されているIND判定文となるコーパスのうち、いずれか未処理のIND判定文となるコーパスの入力を受け付けて、処理対象コーパスとする。
【０２８６】
ステップＳ５８において、COODコーパス抽出部１３３は、非出現性判定部１３３ｂを制御して、処理対象コーパスに含まれる単語の、対象となるドメインにおける非出現性を算出させる。
【０２８７】
非出現性とは、生成されたコーパスを意味解析器にかけてIND判定文と判定されたドメインのコーパス群に出現しない単語をどの程度含んでいるかを示す指標である。
【０２８８】
例えば、図２４で示されるような文（コーパス）は、いずれもALARM-CHANGEというドメインにおいて、出現頻度の低い単語を含んでおり、すなわち、非出現性が高く、廃棄判定文を含むClose OODとなる。ただし、ここでは、非出現性を求める前の処理で、非文は排除されているので、実質的に、COOD判定文が抽出されることになる。尚、以下においては、『』内の表記が非出現性の高い単語である。
【０２８９】
すなわち、図２４においては、「アラームの『レジストリ』をかえて」の『レジストリ』が、「『脚本』を8時にセットしなおして」の『脚本』が、「アラームの『食事』直してくれるかな」の『食事』が、「朝7時の『文言』を朝8時に変更してください」の『文言』が、「朝6時半に鳴る『ログファイル』を7時頃に変更してください」の『ログファイル』が、「6時の『制度』を7時に変更して」の『制度』が、「アラームの『考え』を7時に変えてください」の『考え』が、「夕方5時の『工期』を5時半に変更して」の『工期』が、「午前6時半の『設計』を午前8時半に変更してください」の『設計』が、「朝7時の『価格』を8時に変更して」の『価格』が、「7時の『献立』を7:30に変えて」の『献立』が、それぞれ非出現性の高い言葉であることから、COOD判定文とみなされる。
【０２９０】
これらの非出現性については、例えば、処理対象コーパスに含まれる、目的とするドメインで出現しない単語数を用いることで数値的に求めることができる。
【０２９１】
例えば、非出現性判定部１３３ｂは、IND判定文からなる処理対象コーパスに含まれる全単語数をnとし、IND判定文のドメインにおいて出現しない単語数（IND判定文からなるドメインに属するコーパスのうち、処理対象コーパスを除いたいずれのコーパスにも含まれていない単語数）をnoとしたとき、非出現性を表すパラメータとしてno/nを算出する。
【０２９２】
ステップＳ５９において、非出現性判定部１３３ｂは、処理対象コーパスに含まれる単語のIND判定文からなるドメインにおける非出現性を表すパラメータno/nが所定の閾値βよりも大きいか否かを判定する。
【０２９３】
ステップＳ５９において、非出現性を表すパラメータno/nが所定の閾値βよりも大きい場合、すなわち、処理対象コーパスに含まれる単語の、IND判定文からなるドメインにおける非出現性が高い場合、処理は、ステップＳ６０に進む。
【０２９４】
ステップＳ６０において、非出現性判定部１３３ｂは、処理対象コーパスをCOOD判定文とみなして抽出し、COOD判定文記憶部１３４に記憶させる。
【０２９５】
一方、ステップＳ５９において、非出現性を表すパラメータno/nが所定の閾値βよりも大きくない場合、すなわち、非出現性を表すパラメータno/nが所定の閾値βよりも小さく、処理対象コーパスに含まれる単語の、IND判定文からなるドメインにおける非出現性が低い場合、処理は、ステップＳ６１に進む。
【０２９６】
ステップＳ６１において、非出現性判定部１３３ｂは、処理対象コーパスを確定IND判定文とみなして確定IND判定文記憶部１３５に記憶させる。
【０２９７】
ステップＳ６２において、COODコーパス抽出部１３３は、未処理のIND判定文が存在するか否かを判定し、未処理のIND判定文が存在する場合、処理は、ステップＳ５７に戻る。すなわち、未処理のIND判定文がなくなるまで、ステップＳ５７乃至Ｓ６２の処理が繰り返され、ステップＳ５８，Ｓ５９の非出現性判定部１３３ｂの処理が繰り返される。
【０２９８】
そして、ステップＳ６２において、未処理のIND判定文が存在しない、すなわち、全てのIND判定文が処理されたとみなされた場合、処理は、終了する。
【０２９９】
以上の処理により、IND判定文からなるコーパスにより構成されるドメインのうち、Perplexity値が高く、非文ではないものであって、含まれる単語の非出現性が高いコーパスが、COOD判定文とみなされ、COOD判定文記憶部１３４に記憶され、非文ではないものであって、含まれる単語の非出現性が低いコーパスが、確定IND判定文とみなされ、確定IND判定文記憶部１３５に記憶される。
【０３００】
尚、以上においては、非出現性をパラメータno/nにより表現する例について説明してきたが、非出現性を表現できれば、その他の値でもよく、例えば、TF(Term Frequency)/IDF(Inverse Document Frequency)値を用いるようにしてもよい。
【０３０１】
ここで、TF値とは、複数の文書（この場合は複数のドメイン）があった場合、それぞれの文書（この場合はドメイン）を特徴づける単語を分析するための指標であり、以下の式（４）で表される。
【０３０２】
【数４】
2019021804.tif 000006
・・・（４）
【０３０３】
また、IDF値は、各単語が文書間で共通に使われているか否かを表す指標であり、以下の式（５）で表される。
【０３０４】
【数５】
2019021804.tif 000007
・・・（５）
【０３０５】
さらに、TF/IDF値は、IND判定文の対象ドメインに偏在してよく出現する重要単語リストのうち出現頻度が閾値β(0≦β≦1)より小さい単語数、または、重要単語リストに存在しない単語数を値nlwとするとき、ステップＳ５９において、非出現性判定部１３３ｂは、非出現性を示すパラメータnlw/nを算出する。
【０３０６】
ステップＳ５９において、非出現性判定部１３３ｂは、処理対象コーパスに含まれる単語の所定のドメインにおける非出現性を表すパラメータnlw/nが所定の閾値γよりも大きいか否かを判定する。
【０３０７】
ステップＳ５９において、非出現性を表すパラメータnlw/nが所定の閾値γよりも大きい場合、処理は、ステップＳ６０に進み、非出現性判定部１３３ｂは、処理対象コーパスをCOOD判定文とみなして抽出し、COOD判定文記憶部１３４に記憶させる。
【０３０８】
一方、ステップＳ５９において、非出現性を表すパラメータnlw/nが所定の閾値γよりも大きくない場合、すなわち、非出現性を表すパラメータnlw/nが所定の閾値γよりも小さい場合、処理は、ステップＳ６１に進み、非出現性判定部１３３ｂは、処理対象コーパスを確定IND判定文とみなして確定IND判定文記憶部１３５に記憶させる。
【０３０９】
＜TF値とTF/IDF値について＞
例えば、図２５の例Ｅｘ５１における、ALARM-CHANGEというドメインのIND判定文からなるコーパス例に基づいて、求められるTF値およびTF/IDF値は、それぞれ図２５の例Ｅｘ５２，Ｅｘ５３で表される。
【０３１０】
すなわち、例Ｅｘ５１のコーパス群は、上から順に、「アラームを8時に変更して」、「アラーム編集してくれる」、「アラーム設定しなおして」、「7時から8時にアラームを変更して」、「7時のアラームを8時に変えてもらえる」、「アラーム8時に変更して」、「目覚まし8時に変えて目覚ましの時間変更して」、「目覚ましの時間変更してもらえる」、「目覚まし変更して」、「10時のアラーム7時にして」、「10時のアラームを11時に変えて」、・・・、「６時に設定したアラームを５時３０分に変えたい」、「毎日７時に鳴らすのを６時３０分に設定を変えて」、「毎回７時に鳴らすのを６時３０分に設定を変更して」、および「土日朝のアラームを編集」からなる。
【０３１１】
この例Ｅｘ５１のコーパス群の各単語のTF値は、図中の例Ｅｘ５２で示されるように、TF値の大きな順に、上から「変更」が351、「７」が334、「８」が260、「変え」が258、「時間」が220、「設定」が159、「６」が152、「し」が148、「目覚まし」が110、「午前」が64、「セット」が56、「願い」が55、・・・、「目覚し」が6、「目覚まし時計」が5である。
【０３１２】
また、この例Ｅｘ５１のコーパス群の各単語のTF/IDF値は、図中の例Ｅｘ５３で示されるように、TF/IDF値の降順に、上から「アラーム」が0.00504379225545、「セット」が0.00328857409316、「起こ」が0.00110030484831、「明日」が0.000795915410064、「目覚まし」が0.000763298323913、「起き」が0.000622699996573、「鳴ら」が0.00060708690425、「朝」が0.000521901615019、「設定」が0.000466290476509、「かけ」が0.000336399933349、「鳴」が0.000297198910881、「めざまし」が0.000223592438318、「おこ」が0.000196205208903、「目覚まし時計」が0.000185042017918、「起床」が0.000175552029018、「願い」が0.000124433590006、「時間」が0.000107951491631、「午前」が0.000102767940411・・・である。
【０３１３】
すなわち、TF値またはTF/IDF値が高い単語は、出現頻度が高く（非出現性が低く）、重要度が高い単語であると考えることができる。したがって、IND判定文に含まれるコーパスのうち、このTF値またはTF/IDF値がある閾値以下の単語を多く含むコーパスは、COOD判定文である可能性が高いと考えられる。このため、COOD判定文は、IND判定文に含まれるコーパスのうち、このTF/IDF値が高い単語群に含まれていない単語を多く含むコーパスとして求められる。
【０３１４】
＜CINDコーパス抽出処理＞
次に、図２６のフローチャートを参照して、CINDコーパス抽出処理について説明する。
【０３１５】
ステップＳ１０１において、CINDコーパス抽出部１３７は、OOD判定文記憶部１３６に記憶されているOOD判定文からなるコーパスのうち、未処理のOOD判定文からなるコーパスの入力を受け付けて、処理対象コーパスとする。
【０３１６】
ステップＳ１０２において、CINDコーパス抽出部１３７は、非文判定部１３７ａを制御して、処理対象コーパスのPerplexity値を算出させる。
【０３１７】
ステップＳ１０３において、非文判定部１３７ａは、算出した処理対象コーパスのPerplexity値が、所定の閾値αより大きいか否かに基づいて、非文であるか否かを判定する。
【０３１８】
ステップＳ１０３において、例えば、Perplexity値PLLが、所定の閾値αよりも大きい場合、処理は、ステップＳ１０５に進む。
【０３１９】
ステップＳ１０５において、非文判定部１３７ａは、処理対象のコーパスを非文とみなし、廃棄判定文として廃棄処理し、処理は、ステップＳ１０６に進む。
【０３２０】
一方、ステップＳ１０３において、例えば、Perplexity値PLLが、所定の閾値αよりも大きくない場合、すなわち、Perplexity値PLLが、所定の閾値αよりも小さい場合、非文判定部１３７ａは、処理対象コーパスが、意味の通る文であるとみなして、処理は、ステップＳ１０４に進む。
【０３２１】
ステップＳ１０４において、非文判定部１３７ａは、処理対象のコーパスを記憶する。
【０３２２】
ステップＳ１０６において、CINDコーパス抽出部１３７は、OOD判定文記憶部１３６に記憶されているOOD判定文となるコーパスのうち、未処理のOOD判定文となるコーパスがあるか否かを判定し、未処理のOOD判定文となるコーパスがある場合、処理は、ステップＳ１０１に戻る。すなわち、全てのOOD判定文についてPerplexity値PLLが算出されて、所定の閾値αとの比較により、非文ではなく、意味の通る文からなるコーパスであるか否かの判定がなされるまで、ステップＳ１０１乃至Ｓ１０６の処理が繰り返される。そして、ステップＳ１０６において、全てのOOD判定文についてPerplexity値PLLが算出されて、所定の閾値αとの比較により非文ではなく、意味の通る文からなるコーパスであるか否かの判定がなされて、未処理のコーパスがないとみなされた場合、処理は、ステップＳ１０７に進む。
【０３２３】
ステップＳ１０７において、CINDコーパス抽出部１３７は、ステップＳ１０２，Ｓ１０３の非文判定部１３７ａの処理により、非文ではなく、意味の通る文からなるコーパスとみなされて記憶されているOOD判定文となるコーパスのうち、いずれか未処理のOOD判定文となるコーパスの入力を受け付けて、処理対象コーパスとする。
【０３２４】
ステップＳ１０８において、CINDコーパス抽出部１３７は、非出現性判定部１３７ｂを制御して、処理対象コーパスに含まれる単語の、対象となるドメインにおける非出現性を表すパラメータno/nを算出させる。
【０３２５】
ステップＳ１０９において、非出現性判定部１３７ｂは、処理対象コーパスに含まれる単語の所定のドメインにおける非出現性を表すパラメータno/nが所定の閾値βよりも大きいか否かを判定する。
【０３２６】
ステップＳ１０９において、非出現性を表すパラメータno/nが所定の閾値βよりも大きい場合、処理は、ステップＳ１１０に進む。
【０３２７】
ステップＳ１１０において、非出現性判定部１３７ｂは、処理対象コーパスを確定OOD判定文とみなして確定OOD判定文記憶部１３９に記憶させる。
【０３２８】
一方、ステップＳ１０９において、非出現性を表すパラメータno/nが所定の閾値βよりも大きくない場合、すなわち、非出現性を表すパラメータno/nが所定の閾値βよりも小さい場合、処理は、ステップＳ１１１に進む。
【０３２９】
ステップＳ１１１において、非出現性判定部１３７ｂは、処理対象コーパスをCIND判定文とみなしてCIND判定文記憶部１３８に記憶させる。
【０３３０】
ステップＳ１１２において、CINDコーパス抽出部１３７は、未処理のOOD判定文が存在するか否かを判定し、未処理のOOD判定文が存在する場合、処理は、ステップＳ１０７に戻る。すなわち、未処理のOOD判定文がなくなるまで、ステップＳ１０７乃至Ｓ１１２の処理が繰り返される。
【０３３１】
そして、ステップＳ１１２において、未処理のOOD判定文が存在しない、すなわち、全てのOOD判定文が処理されたとみなされた場合、処理は、終了する。
【０３３２】
以上の処理により、OOD判定文となるコーパスのうち、Perplexity値が高く、非文ではないものであって、含まれる単語の非出現性が低いコーパスが、CIND判定文とみなされ、CIND判定文記憶部１３８に記憶され、非文ではないものであって、含まれる単語の非出現性が高いコーパスが、確定OOD判定文とみなされ、確定OOD判定文記憶部１３９に記憶される。尚、CIND判定文はどのドメインに属するCINDかの判定はわからないため、最終的に人手で行う必要がある。但しそのための絞り込みを自動化できるので作業工数を軽減することができる。
【０３３３】
以上においては、非出現性を表すパラメータをno/nにより表現する例について説明してきたが、非出現性を表現できれば、その他の値でもよく、例えば、TF(Term Frequency)/IDF(Inverse Document Frequency)値を用いるようにしてもよい。
【０３３４】
さらに、TF/IDF値は、IND判定文の対象ドメインに偏在してよく出現する重要単語リストのうち出現頻度が閾値β(0≦β≦1)より小さい単語の数、または、重要単語リストに存在しない単語数を値nlwとするとき、ステップＳ１０８において、非出現性判定部１３７ｂは、非出現性を示すパラメータnlw/nを算出する。
【０３３５】
ステップＳ１０８において、非出現性判定部１３７ｂは、処理対象コーパスに含まれる単語の所定のドメインにおける非出現性を表すパラメータnlw/nが所定の閾値γよりも大きいか否かを判定する。
【０３３６】
ステップＳ１０８において、非出現性を表すパラメータnlw/nが所定の閾値γよりも大きい場合、処理は、ステップＳ１１０に進み、CINDコーパス抽出部１３７は、処理対象コーパスを確定OOD判定文とみなして確定OOD判定文記憶部１３９に記憶させる。
【０３３７】
一方、ステップＳ１０８において、非出現性を表すパラメータnlw/nが所定の閾値γよりも大きくない場合、すなわち、非出現性を表すパラメータnlw/nが所定の閾値γよりも小さい場合、処理は、ステップＳ１１１に進み、非出現性判定部１３７ｂは、処理対象コーパスをCIND判定文とみなしてCIND判定文記憶部１３８に記憶させる。
【０３３８】
尚、CIND判定文はどのドメインに属するCIND文かの判定はわからないため、最終的に人手で行う必要がある。但しそのための絞り込みを自動化できるので作業工数を軽減することができる。
【０３３９】
以上の処理により、所定の手段で生成されたIND文から多くのコーパスを、人手を必要とすることなく生成することが可能となる。このため、コーパスの開発に係る負荷を低減させることが可能となり、開発コストを低減させることが可能となる。
【０３４０】
また、コーパスは、IND判定文（確定IND判定文）、COOD判定文、CIND判定文、およびOOD判定文（確定OOD判定文）に分類された状態で生成される。
【０３４１】
結果として、より多くのCOOD判定文およびCIND判定文からなるコーパスを用いてフレーム推定部１３、および意味解析部１４を学習させるようにすることで、IND判定文とOOD判定文との境界付近に分布するコーパスによる学習が可能となるので、IND判定文とOOD判定文との境界付近に分布するような紛らわしい表現でも適切に認識することが可能になり、意味解析部の精度を向上させることが可能となる。
【０３４２】
また、生成されたコーパスは、現実には、人手による確認作業が必要となることが想定されるが、IND判定文（確定IND判定文）、COOD判定文、CIND判定文、およびOOD判定文（確定OOD判定文）に分類されている上、非文や重文も廃棄されているので、確認作業に係る負荷を低減することが可能となり、結果として、コーパスの開発コストを低減させることが可能となる。
【０３４３】
尚、上述した処理順序は、前後を入れ替えるようにしてもよく、例えば、ステップＳ３６のCOODコーパス抽出処理とステップＳ３７のCINDコーパス抽出処理とは処理順序を入れ替えてもよい。また、COODコーパス抽出処理、およびCINDコーパス抽出処理におけるPerplexity値を用いた非文判定処理と、非出現性を表すパラメータを用いたCOOD判定文およびCIND判定文の抽出処理とは、順序を入れ替えてもよい。
【０３４４】
＜ソフトウェアにより実行させる例＞
ところで、上述した一連の処理は、ハードウェアにより実行させることもできるが、ソフトウェアにより実行させることもできる。一連の処理をソフトウェアにより実行させる場合には、そのソフトウェアを構成するプログラムが、専用のハードウェアに組み込まれているコンピュータ、または、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどに、記録媒体からインストールされる。
【０３４５】
図２７は、汎用のパーソナルコンピュータの構成例を示している。このパーソナルコンピュータは、CPU(Central Processing Unit)１００１を内蔵している。CPU１００１にはバス１００４を介して、入出力インタフェース１００５が接続されている。バス１００４には、ROM(Read Only Memory)１００２およびRAM(Random Access Memory)１００３が接続されている。
【０３４６】
入出力インタフェース１００５には、ユーザが操作コマンドを入力するキーボード、マウスなどの入力デバイスよりなる入力部１００６、処理操作画面や処理結果の画像を表示デバイスに出力する出力部１００７、プログラムや各種データを格納するハードディスクドライブなどよりなる記憶部１００８、LAN（Local Area Network）アダプタなどよりなり、インターネットに代表されるネットワークを介した通信処理を実行する通信部１００９が接続されている。また、磁気ディスク（フレキシブルディスクを含む）、光ディスク（CD-ROM(Compact Disc-Read Only Memory)、DVD(Digital Versatile Disc)を含む）、光磁気ディスク（ＭＤ(Mini Disc)を含む）、もしくは半導体メモリなどのリムーバブルメディア１０１１に対してデータを読み書きするドライブ１０１０が接続されている。
【０３４７】
CPU１００１は、ROM１００２に記憶されているプログラム、または磁気ディスク、光ディスク、光磁気ディスク、もしくは半導体メモリ等のリムーバブルメディア１０１１ら読み出されて記憶部１００８にインストールされ、記憶部１００８からRAM１００３にロードされたプログラムに従って各種の処理を実行する。RAM１００３にはまた、CPU１００１が各種の処理を実行する上において必要なデータなども適宜記憶される。
【０３４８】
以上のように構成されるコンピュータでは、CPU１００１が、例えば、記憶部１００８に記憶されているプログラムを、入出力インタフェース１００５及びバス１００４を介して、RAM１００３にロードして実行することにより、上述した一連の処理が行われる。
【０３４９】
コンピュータ（CPU１００１）が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディア１０１１に記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
【０３５０】
コンピュータでは、プログラムは、リムーバブルメディア１０１１をドライブ１０１０に装着することにより、入出力インタフェース１００５を介して、記憶部１００８にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、通信部１００９で受信し、記憶部１００８にインストールすることができる。その他、プログラムは、ROM１００２や記憶部１００８に、あらかじめインストールしておくことができる。
【０３５１】
なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
【０３５２】
尚、図２７におけるCPU１００１が、意味解析器１３１、COODコーパス抽出部１３３、およびCINDコーパス抽出部１３７の機能を実現させる。また、記憶部１００８が、IND判定文記憶部１３２、OOD判定文記憶部１３６、COOD判定文記憶部１３４、確定IND判定文記憶部１３５、CIND判定文記憶部１３８、および確定OOD判定文記憶部１３９を実現する。
【０３５３】
また、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０３５４】
なお、本開示の実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。
【０３５５】
例えば、本開示は、１つの機能をネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０３５６】
また、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３５７】
さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。
【０３５８】
尚、本開示は、以下のような構成も取ることができる。
＜１＞  入力文の構造を解析する構造解析部と、
前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、
前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部と
を含む情報処理装置。
＜２＞  前記入力文は、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文である
＜１＞に記載の情報処理装置。
＜３＞  前記構造解析部は、前記入力文の述語項構造を解析する
前記置換箇所設定部は、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所を設定する
＜１＞または＜２＞に記載の情報処理装置。
＜４＞  前記入力文における前記置換箇所の単語を置換する候補を、辞書を照会して検索する辞書照会部をさらに含み、
前記コーパス生成部は、前記辞書照会部により検索された単語で、前記入力文における前記置換箇所の単語を置換する
＜３＞のいずれかに記載の情報処理装置。
＜５＞  前記辞書は、格フレーム辞書である
＜４＞に記載の情報処理装置。
＜６＞  前記置換箇所設定部は、前記構造解析部の解析結果である前記述語項構造に基づいて、前記入力文における置換箇所と、前記置換箇所の置換方式を設定し、
前記コーパス生成部は、前記入力文における前記置換箇所の単語を、前記置換方式で置換してコーパスを生成する
＜４＞に記載の情報処理装置。
＜７＞  前記置換方式は、前記入力文の述部を固定し、かつ、対象格を含む述語項となる名詞を置換する第１の方式と、前記入力文の対象格を含む述語項を固定し、かつ、述部を置換する第２の方式とを含む
＜６＞に記載の情報処理装置。
＜８＞  前記コーパス生成部により生成されたコーパスを、所定のアプリケーションプログラムで扱うべき発話内容であるIND（In Domain）判定文、または、所定のアプリケーションプログラムで扱うべきではない想定外の発話内容であるOOD（Out of Domain）判定文に分類する分類部をさらに含む
＜１＞乃至＜７＞のいずれかに記載の情報処理装置。
＜９＞  前記OOD判定文であって、かつ、前記IND判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCOOD（Close OOD）判定文として、前記IND判定文として分類されたコーパスより抽出するCOOD判定文抽出部をさらに含む
＜８＞に記載の情報処理装置。
＜１０＞  前記COOD判定文抽出部は、前記IND判定文として分類されたコーパスを含むドメインにおいて、自ら及び他のコーパスに含まれない単語数が所定数より多いコーパスを、前記ドメインより前記COOD判定文として抽出する
＜９＞に記載の情報処理装置。
＜１１＞  前記COOD判定文抽出部は、前記ドメインのコーパスに含まれる単語数に対する、前記自ら及び他のコーパスに含まれない単語数の割合で表される非出現性が所定値より高いコーパスを、前記ドメインより前記COOD判定文として抽出する
＜１０＞に記載の情報処理装置。
＜１２＞  前記COOD判定文抽出部は、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなる単語のTF/IDFで表される非出現性が所定値より低い単語を多く含むコーパスを、前記ドメインより前記COOD判定文として抽出する
＜１０＞に記載の情報処理装置。
＜１３＞  前記COOD判定文抽出部は、前記ドメインのコーパスにおけるPerplexity値を算出し、前記Perplexity値が所定値よりも高いものを非文として廃棄する
＜１０＞に記載の情報処理装置。
＜１４＞  前記IND判定文であって、かつ、前記OOD判定文との、それぞれの素性で表現される特徴空間における境界近傍に存在するコーパスをCIND（Close IND）判定文として、前記OOD判定文として分類されたコーパスより抽出するCIND判定文抽出部をさらに含む
＜８＞に記載の情報処理装置。
＜１５＞  前記CIND判定文抽出部は、前記OOD判定文として分類されたコーパスを含むドメインにおいて、自ら以外の他のOOD判定文に分類されたコーパスに含まれる単語数が所定数より多いコーパスを、前記OOD判定文として分類された全コーパスより前記CIND判定文として抽出する
＜１４＞に記載の情報処理装置。
＜１６＞  前記CIND判定文抽出部は、前記ドメインのコーパスに含まれる単語数に対する、前記自ら以外の他のコーパスに含まれない単語数の割合で表される非出現性が所定数より低いコーパスを、前記CIND判定文として抽出する
＜１５＞に記載の情報処理装置。
＜１７＞  前記CIND判定文抽出部は、前記ドメインのコーパスのうち、TF(Term Frequency)値とIDF(Inverse Document Frequency)値とからなるTF/IDFで表される単語の非出現性が所定数より低いコーパスを、前記CIND判定文として抽出する
＜１５＞に記載の情報処理装置。
＜１８＞  前記CIND判定文抽出部は、前記ドメインのコーパスにおけるPerplexity値を算出し、前記Perplexity値が所定値よりも高いものを非文として廃棄する
＜１５＞に記載の情報処理装置。
＜１９＞  入力文の構造を解析し、
前記構造の解析結果に基づいて、前記入力文における置換箇所を設定し、
前記入力文における前記置換箇所の単語を置換してコーパスを生成する
ステップを含む情報処理方法。
＜２０＞  入力文の構造を解析する構造解析部と、
前記構造解析部の解析結果に基づいて、前記入力文における置換箇所を設定する置換箇所設定部と、
前記入力文における前記置換箇所の単語を置換してコーパスを生成するコーパス生成部と
してコンピュータを機能させるプログラム。
【符号の説明】
【０３５９】
５１  コーパス生成装置，  １０１  IND文受付部，  １０２  言語解析部，  １０３  置換箇所設定部，  １０４  辞書照会部，  １０５  置換実行部，  １０６  重文排除部，  １０７  格フレーム辞書，  １０８  生成条件設定データ記憶部，  １０９  置換生成文記憶部，  １１０  フィルタリング処理部，  １３１  意味解析器，  １３２  IND判定文記憶部，  １３３  COODコーパス抽出部，  １３３ａ  非文判定部，  １３３ｂ  非出現性判定部，  １３４  COOD判定文記憶部，  １３５  確定IND判定文記憶部，  １３６  OOD判定文記憶部，  １３７  CINDコーパス抽出部，  １３７ａ  非文判定部，  １３７ｂ  非出現性判定部，  １３８  CIND判定文記憶部，  １３９  確定OOD判定文記憶部
【図１】
2019021804.tif 000008
【図２】
2019021804.tif 000009
【図３】
2019021804.tif 000010
【図４】
2019021804.tif 000011
【図５】
2019021804.tif 000012
【図６】
2019021804.tif 000013
【図７】
2019021804.tif 000014
【図８】
2019021804.tif 000015
【図９】
2019021804.tif 000016
【図１０】
2019021804.tif 000017
【図１１】
2019021804.tif 000018
【図１２】
2019021804.tif 000019
【図１３】
2019021804.tif 000020
【図１４】
2019021804.tif 000021
【図１５】
2019021804.tif 000022
【図１６】
2019021804.tif 000023
【図１７】
2019021804.tif 000024
【図１８】
2019021804.tif 000025
【図１９】
2019021804.tif 000026
【図２０】
2019021804.tif 000027
【図２１】
2019021804.tif 000028
【図２２】
2019021804.tif 000029
【図２３】
2019021804.tif 000030
【図２４】
2019021804.tif 000031
【図２５】
2019021804.tif 000032
【図２６】
2019021804.tif 000033
【図２７】
2019021804.tif 000034
【国際調査報告】
2019021804.tif 000035
2019021804.tif 000036
2019021804.tif 000037
2019021804.tif 000038