(57)【要約】      （修正有）【課題】自然言語処理に用いられるトレーニングデータの用途に応じて、トレーニングデータのノイズを柔軟に最適化することによって、分類器モデルのトレーニングの精度を向上する。【解決手段】トレーニングデータを作成する請求を受信することと、トレーニングデータの作成に用いられる自然言語コーパスの入力を取得することと、トレーニングデータに必要なバッグ分割パラメータを特定することと、バッグ分割パラメータに基づき、自然言語コーパスの入力をそれぞれが複数のインスタンスを含む複数のバッグに分割することと、複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出することを含む。センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとする。【選択図】図１
2018022496.tif 000002
【特許請求の範囲】
【請求項１】
自然言語処理システムに用いられるトレーニングデータを作成する方法であって、
前記トレーニングデータを作成する請求を受信することと、
前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得することと、
前記トレーニングデータに必要なバッグ分割パラメータを特定することと、
前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであることと、
前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出することと、を含み、
前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとすることを特徴とする方法。
【請求項２】
前記トレーニングデータに必要なバッグ分割パラメータを特定することは、
前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定することを含むことを特徴とする請求項１記載の方法。
【請求項３】
前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出することは、
前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出することと、
前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリングを実行し、前記センテンスレベル特徴ベクトルを取得することと、を含むことを特徴とする請求項１記載の方法。
【請求項４】
前記トレーニングデータを利用して、分類器をトレーニングし、または知識ベースを構築することを特徴とする請求項１乃至３のいずれか記載の方法。
【請求項５】
前記トレーニングデータを利用して、分類器をトレーニングすることは、
前記分類器のニューラルネットワークパラメータを初期化することと、
前記複数のバッグのうちの一つのバッグをランダムに選択することと、
前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、
前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新することと、を含むことを特徴とする請求項４記載の方法。
【請求項６】
自然言語処理システムに用いられるトレーニングデータを作成する機器であって、
前記トレーニングデータを作成する請求を受信する請求受信モジュールと、
前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得する入力モジュールと、
前記トレーニングデータに必要なバッグ分割パラメータを特定するバッグ分割パラメータ特定モジュールと、
前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであるバッグ分割モジュールと、
前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出する特徴ベクトル抽出モジュールと、を含み、
前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとすることを特徴とする機器。
【請求項７】
前記バッグ分割パラメータ特定モジュールは、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定することを特徴とする請求項６記載の機器。
【請求項８】
前記特徴ベクトル抽出モジュールは、前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出し、
前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリングを実行し、前記センテンスレベル特徴ベクトルを取得する、ことを特徴とする請求項６記載の機器。
【請求項９】
前記トレーニングデータは、分類器のトレーニング又は知識ベースの構築に用いられる、ことを特徴とする請求項６乃至８のいずれか記載の機器。
【請求項１０】
前記分類器のニューラルネットワークパラメータを初期化することと、
前記複数のバッグのうちの一つのバッグをランダムに選択することと、
前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、
前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新することと、に用いられる分類器トレーニングモジュールをさらに含むことを特徴とする請求項９記載の機器。
【請求項１１】
ユーザの自然言語問題の入力を受信し、回答の出力を実行するユーザインタフェース機器と、
前記自然言語問題の入力に対し、特徴を抽出し、前記特徴を関係分類し、構造化の問題を取得する分類器機器と、
前記構造化の問題に基づき、事前に記憶した知識ベースデータを検索し、前記構造化の問題に対応する構造化の情報を取得する知識ベース機器と、
前記構造化の情報に基づき、前記回答を推定して特定する回答推定機器と、
前記分類器機器のトレーニング又は前記知識ベース機器における知識ベースデータの構築に用いられる前記トレーニングデータを作成するトレーニングデータ作成機器と、
を含み、
前記トレーニングデータ作成機器は、さらに、
前記トレーニングデータを作成する請求を受信する請求受信モジュールと、
前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得する入力モジュールと、
前記トレーニングデータに必要なバッグ分割パラメータを特定するバッグ分割パラメータ特定モジュールと、
前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであるバッグ分割モジュールと、
前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出する特徴ベクトル抽出モジュールと、を含み、
前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとすることを特徴とする自然言語処理装置。
【請求項１２】
前記バッグ分割パラメータ特定モジュールは、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定することを特徴とする請求項１１記載の自然言語処理装置。
【請求項１３】
前記特徴ベクトル抽出モジュールは、前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出し、
前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリングを実行し、前記センテンスレベル特徴ベクトルを取得することを特徴とする請求項１１記載の自然言語処理装置。
【請求項１４】
前記トレーニングデータ作成機器は、さらに、分類器機器トレーニングモジュールを含み、
前記分類器機器トレーニングモジュールは、
前記分類器機器のニューラルネットワークパラメータを初期化することと、
前記複数のバッグのうちの一つのバッグをランダムに選択することと、
前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、
前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器機器のニューラルネットワークパラメータを更新することと、に用いられることを特徴とする請求項１１乃至１３のいずれか記載の自然言語処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、人工知能分野に関し、より具体的に、本発明は、自然言語処理装置に用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用する自然言語処理装置に関する。
【背景技術】
【０００２】
近年、コンピューター技術の発展に伴い、コンピューター技術に基づいた人工知能は、実用上では多くの場合に人間の意識や思考の情報過程に対するシミュレーションを実現した。言語が人類と他の動物とを区別するための根本的なものであるため、コンピューターを利用して人類の言語を処理する自然言語処理は、人工知能の最高の課題と境界を表している。問答（ＱＡ）システムといった自然言語処理システムでは、人間ユーザが自然言語で提出した問題に対し、正確、簡潔な自然言語で回答することを実現した。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
問答システムでは、通常、事前にトレーニングされたニューラルネットワークに基づいた分類器を利用して自然言語言葉の構造的特徴を抽出し、当該構造的特徴に基づき、事前に建立された知識ベース中から該当する回答を検索又は推定して得る。上記ニューラルネットワークに基づいた分類器のトレーニング及び知識ベースの建立過程では、ニューラルネットワークに基づいた分類器がディープラーニングを実行するために、構造的特徴がマークされたトレーニングデータを多く提供する必要がある。一つの従来の問答システムでは、分類器に対する事前トレーニングを実行するために、特徴が事前に手動でマークされたトレーニングデータを利用する必要があるが、手動でマークすることは時間とコストがかかる。もう一つの従来の問答システムでは、伝統的な自然言語解析（ＮＬＰ）ツールに頼りテキストを解析することで特徴を抽出する。それは、精密的に特徴を設計する必要があり、且つ誤差伝達が生じる恐れがあるので、汎用性に欠け、多くの人力がかかる。また、従来の問答システムは、従来の知識ベースに頼る場合が多いため、その性能と応用場面が非常に限られている。
【０００４】
従って、自然言語処理装置に用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用する自然言語処理装置を提供することが望まれている。それは、自然コーパスからのマークされないテキストを利用して自動的にトレーニングデータを生成し、分類器のトレーニングと知識ベースの構築に利用し、且つトレーニングデータの用途に応じて、トレーニングデータのノイズを柔軟に最適化することによって、分類器モデルのトレーニングの精度を向上させ、演算全体の複雑さを低減することができた。
【課題を解決するための手段】
【０００５】
上記問題を鑑み、本発明は、自然言語処理装置に用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用する自然言語処理装置を提供する。
【０００６】
本発明の一実施例によれば、自然言語処理システムに用いられるトレーニングデータを作成する方法を提供し、当該方法は、前記トレーニングデータを作成する請求を受信することと、前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得することと、前記トレーニングデータに必要なバッグ分割パラメータを特定することと、前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであることと、前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出することと、を含み、前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとする。
【０００７】
また、本発明の一実施例の方法によれば、前記トレーニングデータに必要なバッグ分割パラメータを特定することは、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定することを含む。
【０００８】
また、本発明の一実施例の方法によれば、前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出することは、前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出することと、前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリング（Ｍａｘ  Ｐｏｏｌｉｎｇ）を実行し、前記センテンスレベル特徴ベクトルを取得することと、を含む。
【０００９】
また、本発明の一実施例の方法によれば、前記トレーニングデータを利用して、分類器をトレーニングし、または知識ベースを構築することを含む。
【００１０】
また、本発明の一実施例の方法によれば、前記トレーニングデータを利用して、分類器をトレーニングすることは、前記分類器のニューラルネットワークパラメータを初期化することと、前記複数のバッグのうちの一つのバッグをランダムに選択することと、前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新することと、を含む。
【００１１】
本発明のもう一つの実施例によれば、自然言語処理システムに用いられるトレーニングデータを作成する機器を提供し、当該機器は、前記トレーニングデータを作成する請求を受信する請求受信モジュールと、前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得する入力モジュールと、前記トレーニングデータに必要なバッグ分割パラメータを特定するバッグ分割パラメータ特定モジュールと、前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであるバッグ分割モジュールと、前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出する特徴ベクトル抽出モジュールとを含み、前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとする。
【００１２】
また、本発明のもう一つの実施例の機器によれば、前記バッグ分割パラメータ特定モジュールは、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定する。
【００１３】
また、本発明のもう一つの実施例の機器によれば、前記特徴ベクトル抽出モジュールは、前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出し、前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリングを実行し、前記センテンスレベル特徴ベクトルを取得する。
【００１４】
また、本発明のもう一つの実施例の機器によれば、前記トレーニングデータは、分類器のトレーニング又は知識ベースの構築に用いられる。
【００１５】
また、本発明のもう一つの実施例の機器によれば、前記分類器のニューラルネットワークパラメータを初期化することと、前記複数のバッグのうちの一つのバッグをランダムに選択することと、前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新することとに用いられる分類器トレーニングモジュール、をさらに含む。
【００１６】
本発明のさらにもう一つの実施例によれば、自然言語処理装置を提供し、当該自然言語処理装置は、ユーザの自然言語問題の入力を受信し、回答の出力を実行するユーザインタフェース機器と、前記自然言語問題の入力に対し、特徴を抽出し、前記特徴を関係分類し、構造化の問題を取得する分類器機器と、前記構造化の問題に基づき、事前に記憶した知識ベースデータを検索し、前記構造化の問題に対応する構造化の情報を取得する知識ベース機器と、前記構造化の情報に基づき、前記回答を推定して特定する回答推定機器と、前記分類器機器のトレーニング又は前記知識ベース機器における知識ベースデータの構築に用いられるトレーニングデータを作成するトレーニングデータ作成機器と、を含み、前記トレーニングデータ作成機器は、さらに、前記トレーニングデータを作成する請求を受信する請求受信モジュールと、前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得する入力モジュールと、前記トレーニングデータに必要なバッグ分割パラメータを特定するバッグ分割パラメータ特定モジュールと、前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものであるバッグ分割モジュールと、前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出する特徴ベクトル抽出モジュールとを含み、前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとする。
【００１７】
また、本発明のさらにもう一つの実施例の自然言語処理装置によれば、前記バッグ分割パラメータ特定モジュールは、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定する。
【００１８】
また、本発明のさらにもう一つの実施例の自然言語処理装置によれば、前記特徴ベクトル抽出モジュールは、前記複数のインスタンスのうちのそれぞれのインスタンスにおける語彙エレメントごとに、予定したウィンドー範囲内の複数の語彙を単語特徴として抽出し、語彙エレメントと目標語との距離を位置特徴として抽出し、前記単語特徴と前記位置特徴とによって構成される特徴ベクトルに対し、最大プーリングを実行し、前記センテンスレベル特徴ベクトルを取得する。
【００１９】
また、本発明のさらにもう一つの実施例の自然言語処理装置によれば、前記トレーニングデータ作成機器は、さらに、分類器機器トレーニングモジュールを含み、前記分類器機器トレーニングモジュールは、前記分類器機器のニューラルネットワークパラメータを初期化することと、前記複数のバッグのうちの一つのバッグをランダムに選択することと、前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定することと、前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器機器のニューラルネットワークパラメータを更新する。
【発明の効果】
【００２０】
本発明の実施例に係る自然言語処理装置に用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用する自然言語処理装置は、自然コーパスからのマークされないテキストを利用して自動的にトレーニングデータを生成し、分類器のトレーニングと知識ベースの構築に利用し、且つトレーニングデータの用途に応じて、トレーニングデータのノイズを柔軟に最適化することによって、分類器モデルのトレーニングの精度を向上させ、演算全体の複雑さを低減することができた。
前記の一般的な説明と以下の詳しい説明は、両者とも例示的なものであり、保護したい技術に対するさらなる説明を提供することを意図すると理解すべきである。
【図面の簡単な説明】
【００２１】
図面を参照して本発明の実施例をより詳しく説明し、本発明の上記の内容及び他の目的、特徴、利点をより明確にする。図面は、本発明の実施例に対するさらなる理解のためのものであり、明細書の一部を構成し、本発明の実施例と共に本発明を解釈する。図面は本発明に対する制限するものではない。図面において、同じ符号は、一般的に、同じ部品又はステップを表す。
【図１】本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法を示すフローチャートである。
【図２】本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する機器を示すブロック図である。
【図３】本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法におけるセンテンスレベル特徴抽出を示す模式図である。
【図４】本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法におけるウィンドー処理をさらに示す模式図である。
【図５】本発明の実施例に係るトレーニングデータを用いて分類器をトレーニングする方法を示すフローチャートである。
【図６】本発明の実施例に係る自然言語処理装置を示すブロック図である。
【発明を実施するための形態】
【００２２】
本発明の目的、技術案及び利点をより明確にするために、以下、図面を参照して、本発明に係る例示的な実施例を詳しく説明する。勿論、説明される実施例は、本発明の一部の実施例に過ぎず、全部の実施例ではない。本発明は、ここで説明される例示的な実施例に限らないと理解すべきである。本発明で説明される実施例に基づいて、当業者が創造的な労力を必要とせずに想到し得るすべての他の実施例は、本発明の請求範囲に属する。
【００２３】
問答システムでは、通常、事前にトレーニングされたニューラルネットワークに基づいた分類器を利用して自然言語言葉の構造的特徴を抽出し、当該構造的特徴に基づき、事前に建立された知識ベース中から該当する回答を検索又は推定して得る。従って、ニューラルネットワークに基づいた分類器のトレーニング及び知識ベースの建立過程では、ニューラルネットワークに基づいた分類器がディープラーニングを実行するために、構造的特徴がマークされたトレーニングデータを多く提供する必要がある。従来の問答システムでは、分類器に対する事前トレーニングを実行するために、特徴が事前に手動でマークされたトレーニングデータを利用する必要があるが、手動でマークすることは時間とコストがかかる。また、もう一つの従来の問答システムでは、伝統的な自然言語解析（ＮＬＰ）ツールに頼りテキストを解析することで特徴を抽出する。それは、精密的に特徴を設計する必要があり、且つ誤差伝達が生じる恐れがあるので、汎用性に欠け、多くの人力がかかる。また、従来の問答システムは、従来の知識ベースに頼る場合が多いため、その性能と応用場面が非常に限られている。
【００２４】
本発明は、自然言語処理装置に用いられるトレーニングデータを作成する方法と機器を提供する。それは、自然コーパスからのマークされないテキストを利用して自動的にトレーニングデータを生成し、分類器のトレーニングと知識ベースの構築に利用することで、時間又はコストをかけて手動でマークする必要がない。さらに、トレーニングデータの用途に応じて、トレーニングデータのノイズを柔軟に最適化し、即ち、トレーニングデータが分類器のトレーニングに用いられるか、又は知識ベースの構築に用いられるか、及び自然言語コーパスの入力のソースに応じて、異なるバッグ分割パラメータを柔軟に設定することによって、分類器モデルのトレーニングの精度を向上させ、演算全体の複雑さを低減することができた。
【００２５】
以下、図面を参照し、本発明の実施例を詳しく説明する。
【００２６】
図１は、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法を示すフローチャートである。図１に示すように、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法は、以下のステップを含む。
【００２７】
ステップＳ１０１において、トレーニングデータを作成する請求を受信する。本発明の一態様では、問答システムにおける異なる実体に用いられるトレーニングデータを作成する請求を受信可能である。例えば、問答システムにおける知識ベースサーバーから、知識ベースの構築に用いられるトレーニングデータを作成する請求を受信可能である。或いは、問答システムにおける意味解析実体から分類器のトレーニングに用いられるトレーニングデータを作成する請求を受信可能である。つまり、トレーニングデータを作成する請求のソースから、トレーニングデータを作成する目的を特定することができる。次に、処理がステップＳ１０２に進む。
【００２８】
ステップＳ１０２において、前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得する。本発明の一態様では、異なるソースから自然言語コーパスの入力を取得することができる。例えば、「食べログ」（登録商標）、「Ｗｉｋｉｐｅｄｉａ」（登録商標）などのウェブサイトから自然言語コーパスの入力を取得することができる。つまり、本発明の一態様では、前記トレーニングデータの作成に用いられる自然言語コーパスの入力として、特徴がマークされないコーパスの入力を取得する。次に、処理がステップＳ１０３に進む。
【００２９】
ステップＳ１０３において、トレーニングデータに必要なバッグ分割パラメータを特定する。以下に説明するように、本発明の実施例に係る知識ベースの構造と分類器のトレーニングは、畳み込みニューラルネットワークに基づいたマルチインスタンスラーニング（Ｍｕｌｔｉｐｌｅ  Ｉｎｓｔａｎｃｅ  Ｌｅａｒｎｉｎｇ）を利用する。マルチインスタンスラーニングでは、「バッグ」を複数のインスタンスの集合と定義する。本発明の一態様では、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づいて、前記バッグ分割パラメータを特定する。例えば、「食べログ」からのトレーニングデータには、「Ｗｉｋｉｐｅｄｉａ」からのトレーニングデータよりも厳しいバッグ分割パラメータを設定する。これは、「Ｗｉｋｉｐｅｄｉａ」からの自然言語コーパスの入力よりも多くのノイズデータが「食べログ」からの自然言語コーパスの入力に存在するからである。また、分類器のトレーニングに用いられるトレーニングデータには、知識ベースの構築に用いられるトレーニングデータよりも厳しいバッグ分割パラメータを設定する。次に、処理がステップＳ１０４に進む。
【００３０】
ステップＳ１０４において、バッグ分割パラメータに基づき、自然言語コーパスの入力を複数のバッグに分割し、複数のバッグのそれぞれが複数のインスタンスを含むものである。本発明の一態様では、例えば、Ｔ個のバッグＭ１，Ｍ２，・・・ＭＴが存在し、その中に、第ｉ個がｑｉ個のインスタンスを有するものであり、Ｍｉ＝｛ｍｉ１，ｍｉ２，・・・ｍｉｑｉ｝である。次に、処理がステップＳ１０５に進む。
【００３１】
ステップＳ１０５において、複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出し、前記センテンスレベル特徴ベクトルを有する前記複数のバッグを前記トレーニングデータとする。以下に説明するように、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法は、畳み込みニューラルネットワークに基づき、マークされない自然言語コーパスの入力を上記バッグ分割したインスタンスに対して、センテンスレベル特徴ベクトルの自動抽出を実行することによって、分類器のトレーニング或いは知識ベースの構築に用いられる。以下、図面を参照し、本発明の実施例に係る畳み込みニューラルネットワークに基づいたセンテンスレベル特徴ベクトルの自動抽出をより詳しく説明する。
【００３２】
図２は、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する機器を示すブロック図である。本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成するトレーニングデータ作成機器２０は、問答システムに配置されてもよい。
【００３３】
図２に示すように、本発明の実施例に係るトレーニングデータ作成機器２０は、請求受信モジュール２０１、入力モジュール２０２、バッグ分割パラメータ特定モジュール２０３、バッグ分割モジュール２０４、特徴ベクトル抽出モジュール２０５、分類器トレーニングモジュール２０６を含む。
【００３４】
前記請求受信モジュール２０１は、前記トレーニングデータを作成する請求を受信するものである。具体的に、前記請求受信モジュール２０１は、問答システムにおける異なる実体に用いられるトレーニングデータを作成する請求を受信することができる。例えば、問答システムにおける知識ベースサーバーから知識ベースの構築に用いられるトレーニングデータを作成する請求を受信可能である。或いは、問答システムにおける意味解析実体から分類器のトレーニングに用いられるトレーニングデータを作成する請求を受信可能である。
【００３５】
前記入力モジュール２０２は、前記トレーニングデータの作成に用いられる自然言語コーパスの入力を取得するものである。具体的に、異なるソースから自然言語コーパスの入力を取得することができる。例えば、「食べログ」、「Ｗｉｋｉｐｅｄｉａ」などのウェブサイトから自然言語コーパスの入力を取得することができる。つまり、本発明の一態様では、前記トレーニングデータの作成に用いられる自然言語コーパスの入力として、特徴がマークされないコーパスの入力を取得する。
【００３６】
前記バッグ分割パラメータ特定モジュール２０３は、前記トレーニングデータに必要なバッグ分割パラメータを特定するものである。具体的に、前記バッグ分割パラメータ特定モジュール２０３は、前記トレーニングデータを作成する請求及び／又は前記自然言語コーパスの入力のソースに基づき、前記バッグ分割パラメータを特定する。例えば、「食べログ」からのトレーニングデータには、「Ｗｉｋｉｐｅｄｉａ」からのトレーニングデータよりも厳しいバッグ分割パラメータを設定する。これは、「Ｗｉｋｉｐｅｄｉａ」からの自然言語コーパスの入力よりも多くのノイズデータが「食べログ」からの自然言語コーパスの入力に存在するからである。また、分類器のトレーニングに用いられるトレーニングデータには、知識ベースの構築に用いられるトレーニングデータよりも厳しいバッグ分割パラメータを設定する。
【００３７】
前記バッグ分割モジュール２０４は、前記バッグ分割パラメータに基づき、前記自然言語コーパスの入力を複数のバッグに分割し、前記複数のバッグのそれぞれが複数のインスタンスを含むものである。
【００３８】
前記特徴ベクトル抽出モジュール２０５は、前記複数のインスタンスのそれぞれに対し、センテンスレベル特徴ベクトルを自動的に抽出する。前記センテンスレベル特徴ベクトルを有する前記複数のバッグが前記トレーニングデータとして、分類器のトレーニング又は知識ベースの構築に用いられる。
【００３９】
前記分類器トレーニングモジュール２０６は、前記トレーニングデータを利用し、分類器のトレーニングを実行するものである。本発明の一態様では、前記分類器トレーニングモジュール２０６は、分類器のニューラルネットワークパラメータを初期化し、前記複数のバッグのうちの一つのバッグをランダムに選択し、前記一つのバッグのうち、目標関数を最大化にする一個のインスタンスを特定し、且つ、前記一つのインスタンスの勾配に基づいて、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新する。
【００４０】
以上、図１と図２を参照し、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法と機器を説明した。以下、さらに、図３と図４を参照し、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータの作成方法におけるセンテンスレベル特徴抽出と、センテンスレベル特徴抽出におけるウィンドー処理とを説明する。
【００４１】
図３は、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法におけるセンテンスレベル特徴抽出を示す模式図である。図４Ａ、４Ｂは、さらに、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法におけるウィンドー処理を示す模式図である。
【００４２】
一つの語彙のベクトルモデルが非常に限られるため、本発明に基づいてセンテンスレベルの特徴ベクトル抽出を採用する。図３に示すように、複数のバッグのそれぞれにおける複数のインスタンスのそれぞれ、即ち自然言語コーパスから入力されたセンテンスに対し、まずウィンドー処理を実行する。ウィンドー処理を採用して、異なるセンテンスに対応する語彙系列の長さが異なるという問題を解決するために、語彙の位置特徴を導入した。
【００４３】
具体的には、コンテキストのスライドウィンドーにおける語彙特徴ベクトルマトリックスを取得する。即ち、入力された一つのセンテンスに対し、大きさがｗのスライドウィンドーを考慮する。例えば、図４Ａに示すように、入力されたセンテンス「Ｐｅｏｐｌｅ  ｈａｖｅ  ｂｅｅｎ  ｍｏｖｉｎｇ  ｂａｃｋ  ｉｎｔｏ  ｄｏｗｎｔｏｗｎ」に対し、語彙特徴ベクトルは、
【数１】
2018022496.tif 000003
と表される。
【００４４】
さらに、二つの語彙との間の距離を用いて語彙の位置を表すことで、語彙の位置マトリックスＰＦを取得する。例えば、図４Ｂに示すように、語彙「ｂｅｅｎ」に対し、それが「Ｐｅｏｐｌｅ」と「ｄｏｗｎｔｏｗｎ」との間の距離は、それぞれが「２」と「−４」であり、つまり、その位置特徴ベクトルは、
【数２】
2018022496.tif 000004
と表される。
【００４５】
このように、ウィンドー処理を行った後に、ＳＦ＝［ＷＦ,ＰＦ］Ｔより構成されたマトリックスがセンテンスベクトルを表す。
図３に戻り、さらに、ウィンドー処理により取得されたセンテンスベクトルに対し最大プーリング処理を実行し、各領域の最大値を当該領域のプーリングされた値として選択する。最後に、アクティベーション関数としてｔａｎｈを利用し、高度な非線形性を取得したセンテンスレベル特徴を抽出する。
【００４６】
以上、図３〜図４Ｂを参照し、本発明の実施例に係るトレーニングデータのセンテンスレベル特徴抽出を説明した。以下、図５を参照し、センテンスレベル特徴が抽出されたトレーニングデータを用いて分類器をトレーニングする方法を説明する。
【００４７】
図５は、本発明の実施例に係るトレーニングデータを用いて分類器をトレーニングする方法を示すフローチャートである。図５に示すように、本発明の実施例に係る分類器をトレーニングする方法は、以下のステップを含む。
【００４８】
ステップＳ５０１において、分類器のニューラルネットワークパラメータを初期化する。本発明に採用されるマルチインスタンスラーニングにおいて、畳み込みニューラルネットワーク（ＣＮＮ）に基づいた関係分類モデルは、θとみなしてもよい。前文で想定したように、Ｔ個のバッグＭ１，Ｍ２，・・・ＭＴが存在し、その中に、第ｉ個がｑｉ個のインスタンスを有するものであり、Ｍｉ＝｛ｍｉ１，ｍｉ２，・・・ｍｉｑｉ｝である。それで、目標関数が
【数３】
2018022496.tif 000005
と定義される。ここでｊは、
【数４】
2018022496.tif 000006
とする。
【００４９】
次に、処理がステップＳ５０２に進む。
ステップＳ５０２において、複数のバッグのうちの一つのバッグをランダムに選択する。ランダムに選択されたバッグにおけるインスタンスを一つずつニューラルネットワークに伝送する。次に、ステップＳ５０３に進む。
【００５０】
ステップＳ５０３において、前記一つのバッグのうち、目標関数を最大化にする一つのインスタンスを特定する。例えば、第ｊ個のインスタンスｍｉｊを特定することによって、目標関数を最大化にする。次に、処理がステップＳ５０４に進む。
【００５１】
ステップＳ５０４において、前記一つのインスタンスの勾配に基づき、前記ニューラルネットワークが収束するまで、前記分類器のニューラルネットワークパラメータを更新する。本発明の一態様では、例えばＡｄａｄｅｌｔａ法を通じてｍｉｊの勾配に基づいてθを更新する。さらに、前記ニューラルネットワークが収束するまで、ステップＳ５０２〜Ｓ５０４を繰り返す。
【００５２】
図５を参照して説明した本発明の実施例に係るレーニングデータを利用した分類器をトレーニングする方法において、図３に示した過程で得られた二つ以上の語彙実体を含むセンテンスをサンプルとして取得されたセンテンスレベル特徴を、入力とし、ベクトル空間モデルを採用し、特徴の近似度を算出する。複数のバッグを設定することによって、目標関数の最大化に最大の貢献を有するインスタンスの選択を行うことで、より精確なトレーニングモデルを取得した。また、繰り返しごとの算出の複雑さが低い。
【００５３】
以上、図１〜図５を参照し、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用した分類器のトレーニングを説明した。以下、さらに図６を参照して当該トレーニングデータを作成する機器が配置される自然言語処理装置を説明する。
【００５４】
図６は、本発明の実施例に係る自然言語処理装置を示すブロック図である。図６に示すように、本発明の実施例に係る自然言語処理装置６０は、ユーザインタフェース機器６０１、分類器機器６０２、知識ベース機器６０３、回答推定機器６０４及びトレーニングデータ作成機器６０５を含む。
【００５５】
前記ユーザインタフェース機器６０１は、ユーザの自然言語問題の入力を受信し、回答を出力するものである。本発明の一態様では、前記ユーザインタフェース機器６０１は、前記自然言語処理装置６０とユーザとのインタラクションを実現するものである。例えば、前記ユーザインタフェース機器６０１は、ユーザの入力した問題を受信し、ユーザの入力した問題の表現を検査し、検査を通したユーザの入力した問題を後継の機器パーツに伝送する。また、後継的機器パーツでユーザの入力した問題を分類や推定して回答を取得した後に、前記ユーザインタフェース機器６０１は、ユーザの入力した問題に対する応答を実現するように、取得された回答をユーザに提示する。
【００５６】
前記分類器機器６０２は、前記自然言語問題の入力に対し、特徴を抽出し、前記特徴を関係分類し、構造化の問題を取得するものである。本発明の一態様では、前記分類器機器６０２は、図５に示した分類器のトレーニング方法でトレーニングして得られたものである。
【００５７】
前記知識ベース機器６０３は、前記構造化の問題に基づき、その中に事前に記憶した知識ベースデータを検索し、前記構造化の問題に対応する構造化の情報を取得する。本発明の一態様では、前記知識ベース機器６０３は、前記分類器機器６０２から入力された構造化の問題に基づき、事前に記憶した知識ベースデータに基づき、問題に対する検索を実行する。例えば、前記知識ベース機器６０３は、既知の問題と回答がペアとなるインデックスファイルを事前に記憶し、前記インデックスファイルが既知の問題のセマンティックブロック系列と回答の位置情報とを記入しており、ユーザの入力した問題に対する回答のために知識ソースを提供してもよい。前記知識ベース機器６０３は、事前に、本発明の実施例に係る自然言語処理システムに用いられるトレーニングデータを利用して構築される。
【００５８】
前記回答推定機器６０４は、前記構造化の情報に基づき、前記回答を推定して特定する。本発明の一態様では、前記回答推定機器６０４は、前記知識ベース機器６０３から提供された構造化の情報に基づき、ユーザの入力した問題と同じ又は近似するキーワードを有する関連問題を見出し、それぞれの関連問題とユーザの入力した問題との近似度を取得し、近似度に応じて応答用の関連問題を選択し、インデックスファイルに記載の位置情報に応じて応答用の関連問題の回答を抽出し、且つ前記ユーザインタフェース機器６０１を通じてユーザに提示する。
【００５９】
前記トレーニングデータ作成機器６０５は、トレーニングデータを作成するものであり、前記トレーニングデータは、前記分類器機器６０２のトレーニング又は前記知識ベース機器６０３における知識ベースデータの構築に用いられる。本発明の一態様では、前記トレーニングデータ作成機器６０５は、図２に示した請求受信モジュール２０１、入力モジュール２０２、バッグ分割パラメータ特定モジュール２０３、バッグ分割モジュール２０４、特徴ベクトル抽出モジュール２０５、分類器トレーニングモジュール２０６を含み、ここで、各モジュールに対する重複な説明を省略する。
【００６０】
以上、図１〜図６を参照して自然言語処理装置に用いられるトレーニングデータを作成する方法と機器、及び当該トレーニングデータを利用する自然言語処理装置を説明した。それは、自然コーパスからのマークされないテキストを利用して自動的にトレーニングデータを生成し、分類器のトレーニングと知識ベースの構築に利用し、且つトレーニングデータの用途に応じて、トレーニングデータのノイズを柔軟に最適化することによって、分類器モデルのトレーニングの精度を向上させ、演算全体の複雑さを低減することができた。
【００６１】
なお、本明細書において、用語「含む」、「有する」或いはその他の変形は、非排他的に含むことを意味するので、一連の要素を含む過程、方法、物品、機器は、それらの要素だけではなく、明確に挙げられない他の要素も含み、或いは、その過程、方法、物品、機器が固有する要素を含む。さらに制限を掛けない場合、言葉の「一個……を含む」によって限定される要素は、前記の要素を含む過程、方法、物品、機器に他の同じ要素をさらに含むことを排除しない。
【００６２】
最後に、上記の一連の処理は、前記の順番の通りに時系列で実行した処理だけを含むのではなく、時間順ではなく並行又は個別に実行する処理も含む。
【００６３】
以上の実施態様の説明を通して、当業者は、ソフトウェアと必要なハードウェアで本発明を実現することが明確に理解できるが、もちろん、すべてをハードウェアで実現することも可能である。この理解に基づき、本発明の技術案が技術背景に対して貢献した全部又は一部は、ソフトウェア製品で表現でき、当該コンピューターソフトウェア製品は、例えば、ＲＯＭ／ＲＡＭ、磁気ディスク、光ディスク等の記憶媒体に記憶されており、コンピューター機器（個人コンピューター、サーバー、或いはネットワーク機器など）に本発明の各実施例或いは実施例の一部の前記の方法を実行させる若干のコマンドを含む。
【００６４】
以上は、本発明に対し詳しく説明した。本明細書は、具体的な例を利用して、本発明の原理及び実施態様に対して詳しく説明したが、以上の実施例に対する説明は本発明の方法及びその思想に対する理解に利用するものである。当業者は、本発明の思想に基づき、具体的な実施態様及び応用の範囲に変更を行うことがある。以上により、本明細書の内容が本発明を限定するものであると理解すべきではない。
【図１】
2018022496.tif 000007
【図２】
2018022496.tif 000008
【図３】
2018022496.tif 000009
【図４】
2018022496.tif 000010
【図５】
2018022496.tif 000011
【図６】
2018022496.tif 000012