(57)【要約】【課題】効率の良い情報処理を行うこと。【解決手段】本願に係る学習装置は、生成部と、取得部と、学習部とを備える。生成部は、学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。取得部は、生成部によって生成されたクエリを所定のデータベースに問い合わせることで、部分データに対応付けられる特徴情報を取得する。学習部は、取得部によって取得された特徴情報に基づいて、第１データを学習データとして所定のモデルを生成するための学習を行う。【選択図】図１
2019016269.tif 000002
【特許請求の範囲】
【請求項１】
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得部と、
前記取得部によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習部と、
を備えたことを特徴とする学習装置。
【請求項２】
前記生成部は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記生成部は、
前記第１データを構成する部分データに対応付けられる特徴情報の候補が複数存在する場合に、当該部分データに基づいて前記クエリを生成する、
ことを特徴とする請求項２に記載の学習装置。
【請求項４】
前記学習部は、
過去の問い合わせによって特徴情報が所定の記憶部に保持されている場合には、当該所定の記憶部に保持されている特徴情報に関して前記所定のデータベースへの新たな問い合わせを発生させることなく学習を行う、
ことを特徴とする請求項１〜３のいずれか一つに記載の学習装置。
【請求項５】
前記生成部は、
前記所定のデータベースとの間の通信に関する情報に基づいて、前記クエリを生成する量を調整する、
ことを特徴とする請求項１〜４のいずれか一つに記載の学習装置。
【請求項６】
前記生成部は、
文字列である第１データから語句を抽出し、抽出された語句に基づいて前記クエリを生成し、
前記取得部は、
前記生成部によって生成されたクエリに対応付けられる属性情報を取得し、
前記学習部は、
前記取得部によって取得された属性情報に基づいて学習を行う、
ことを特徴とする請求項１〜５のいずれか一つに記載の学習装置。
【請求項７】
前記生成部は、
前記第１データが含む所定の部分データにおいて、語句として抽出される候補が複数存在する場合には、形態素解析における尤度の高い順に所定数の候補を抽出して前記クエリを生成する、
ことを特徴とする請求項６に記載の学習装置。
【請求項８】
前記生成部は、
文字列である第１データから無作為に語句を抽出し、抽出された語句に基づいて前記クエリを生成する、
ことを特徴とする請求項６又は７に記載の学習装置。
【請求項９】
情報処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた前記第１データを所定のモデルに入力することで所定の結果情報を取得する取得部と、
を備えたことを特徴とする情報処理装置。
【請求項１０】
コンピュータが実行する学習方法であって、
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成工程と、
前記生成工程によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得工程と、
前記取得工程によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習工程と、
を含んだことを特徴とする学習方法。
【請求項１１】
学習処理に用いられる第１データから、当該第１データの一手順を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成手順と、
前記生成手順によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得手順と、
前記取得手順によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習手順と、
をコンピュータに実行させることを特徴とする学習プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、学習装置、情報処理装置、学習方法及び学習プログラムに関する。
【背景技術】
【０００２】
従来、ユーザの発話に対して応答を出力する技術が知られている。このような対話に関する技術では、対話データを学習することにより対話モデルを生成する。例えば、対話モデルは、発話や応答の内容に応じたドメインごとに生成される。
【０００３】
このような対話に関する技術として、辞書データに存在しない単語が入力された場合に、テキストの品詞に基づいて、ドメインの対話モデルが有するスロットにキーワードを割り当てることで、ユーザの意図に応じたサービスを実行する技術が知られている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−６１９５４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した従来技術では、効率の良い情報処理を行うことができるとは言い難い。例えば、上述した従来技術は、学習済みのモデルを用いて任意の単語に対する対話処理を行う場合に、単語が辞書データに存在するか否かを判定するための処理が発生するなど、処理が煩雑になるおそれがある。また、上述した従来技術は、学習済みのモデルを利用するものであり、モデルを生成するなどの学習に関する情報処理には適用し難い。。
【０００６】
また、既存の辞書データに存在しない単語を含むテキストが入力された場合、かかるテキストを用いて学習処理を行う、あるいは、モデルに適用して精度の高い出力を得るためには、テキストが含む単語（語句）がどのような属性を有するものであるか等を照会する処理が発生する場合がある。そして、照会処理が低スループットで行われる場合（例えばクラウド上の辞書データを利用する場合）、照会に時間がかかったり、通信負荷や処理負荷が重くなったりすることで、情報処理（モデルの学習や利用）の効率が悪くなるおそれがある。
【０００７】
なお、上記では対話処理に用いられる対話モデルの学習や利用を例に挙げたが、上記のような課題は、種々のモデルを用いた情報処理に共通する。すなわち、辞書データのような所定の知識データベースに照会を行って情報処理（例えば、モデルの生成処理や、生成したモデルを用いた情報処理）が行われる場合、対話モデルに限らず、上記のような課題が共通して存在する。
【０００８】
本願は、上記に鑑みてなされたものであって、効率の良い情報処理を行うことができる学習装置、情報処理装置、学習方法及び学習プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願に係る学習装置は、学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得部と、前記取得部によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習部と、を備えたことを特徴とする。
【発明の効果】
【００１０】
実施形態の一態様によれば、効率の良い情報処理を行うことができるという効果を奏する。
【図面の簡単な説明】
【００１１】
【図１】図１は、実施形態に係る学習装置が実行する処理の一例を示す図である。
【図２】図２は、実施形態に係る学習処理システムの構成例を示す図である。
【図３】図３は、実施形態に係る学習装置の構成例を示す図である。
【図４】図４は、実施形態に係るモジュールデータベースの一例を示す図である。
【図５】図５は、実施形態に係るローカル辞書データベースの一例を示す図である。
【図６】図６は、実施形態に係るモデルデータベースの一例を示す図である。
【図７】図７は、実施形態に係るキャッシュデータベースの一例を示す図である。
【図８】図８は、実施形態に係るクラウドサーバの構成例を示す図である。
【図９】図９は、実施形態に係る処理手順を示すフローチャートである。
【図１０】図１０は、学習装置の機能を実現するコンピュータの一例を示すハードウェア構成図である。
【発明を実施するための形態】
【００１２】
以下に、本願に係る学習装置、情報処理装置、学習方法及び学習プログラムを実施するための形態（以下、「実施形態」と記載する。）について図面を参照しつつ詳細に説明する。なお、この実施形態により本願に係る学習装置、情報処理装置、学習方法及び学習プログラムが限定されるものではない。また、以下の各実施形態において同一の部位には同一の符号を付し、重複する説明は省略する。
【００１３】
〔１．学習処理の一例〕
まず、図１を用いて、本願に係る学習装置が実行する学習処理の一例について説明する。図１は、実施形態に係る学習装置が実行する処理の一例を示す図である。なお、以下の説明では、実施形態に係る学習装置である学習装置１００が実行する処理として、ユーザＵ１の発話に対する応答を生成するためのモデルに関する学習処理の一例について説明する。すなわち、実施形態では、学習装置１００は、ユーザＵ１との対話を実現する対話処理に関する学習を行う。より具体的には、学習装置１００は、対話処理におけるスロット抽出に関する学習を行う。
【００１４】
〔１−１．学習装置及び学習装置と通信する装置〕
図１に示す学習装置１００は、インターネット等の所定のネットワークを介して、ユーザ端末１０やクラウドサーバ２００と通信可能な情報処理装置であり、例えば、サーバ装置である。なお、学習装置１００は、ネットワークを介して、任意の数のユーザ端末１０や、任意の数のクラウドサーバ２００と通信可能であってよい。
【００１５】
ユーザ端末１０は、対話システムで対話を行うユーザが使用する情報処理装置であり、ＰＣ（Personal  Computer）、スマートフォン、タブレット端末といった情報処理装置により実現される。図１に示した例では、ユーザ端末１０は、ユーザの一例であるユーザＵ１によって利用される。ユーザ端末１０は、ユーザＵ１が発話した音声の入力を受け付ける。そして、ユーザ端末１０は、入力された音声を学習装置１００に送信する。なお、ユーザ端末１０は、発話の代替として、ユーザＵ１が入力した文字列（テキストデータ）を学習装置１００へ送信してもよい。
【００１６】
ユーザ端末１０から発話を受け付けた学習装置１００は、受け付けた発話を解析し、発話の内容（すなわち、ユーザＵ１の意図）を推定する。そして、学習装置１００は、推定した内容に応じて、ユーザＵ１に応答するテキストを生成し、生成したテキストデータや、テキストデータを音声として出力するための音声データをユーザ端末１０へと送信する。ユーザ端末１０は、応答された内容を画面に表示したり、各種テキストの読み上げ技術や音声データを再生したりすることによって、ユーザＵ１との対話を実現する。
【００１７】
クラウドサーバ２００は、学習装置１００が利用するための知識データを提供する情報処理装置である。例えば、クラウドサーバ２００は、所定のデータベースを有する。あるいは、クラウドサーバ２００は、ネットワークを介して検索処理を行い、学習装置１００から問い合わせを受けた情報に対して応答を行う。例えば、クラウドサーバ２００は、所定のデータベースを参照して、問い合わせを受けたクエリに対応する回答を学習装置１００に送信する。より具体的には、クラウドサーバ２００は、クエリとして文字列を受信した場合に、当該文字列に対応付けられる特徴情報（例えば、語句の属性情報）を辞書データベースから参照し、参照した特徴情報を学習装置１００へ提供する。
【００１８】
なお、クラウドサーバ２００は、辞書データベースを提供する装置に限られず、問い合わせに対して任意の情報を提供するサービスを提供する装置であってもよい。また、クラウドサーバ２００は、それぞれ異なる複数のサービスを提供する複数のサーバ装置によって実現されてもよい。また、クラウドサーバ２００は、例えばＡＰＩ（Application  Programming  Interface）を介して、学習装置１００から受け付けた各種文字列に応じた情報を生成し、生成した情報を学習装置１００へと提供してもよい。
【００１９】
〔１−２．スロット抽出処理〕
ここで、学習装置１００が実行する対話処理の基本的な流れについて説明する。なお、以下の説明は、実施形態を限定するものではなく、学習装置１００は、以下に説明するスロットフィリングの技術を用いてユーザＵ１の発話に対する応答を生成するのであれば、以下に説明する対話処理以外にも、任意の態様で応答の生成を行ってよい。
【００２０】
例えば、学習装置１００は、ユーザＵ１の発話を受け付けると、発話の内容が施設検索に関する内容であるか、天気に関する内容であるかというように、発話の内容が属するドメイン（分野）を推定する。そして、学習装置１００は、推定結果の尤度に基づいて、発話が属するドメインを判定する。例えば、学習装置１００は、発話のパターンを学習した学習器（モデル）を利用して、発話がどのようなドメインに属するかの尤度を出力し、出力した結果に基づいてドメインを判定する。
【００２１】
続いて、学習装置１００は、判定したドメインに応じたユーザの発話の内容を推定する言語理解処理を実行する。例えば、学習装置１００は、言語理解処理として、発話が示すユーザＵ１の意図を推定し、推定した意図を示す文字列を意図情報として生成する。そして、学習装置１００は、生成した意図情報を用いて、発話に対する応答を生成し、生成した応答をユーザ端末１０からユーザＵ１に提供する。なお、このようなドメインの判定や、意図情報の生成及び応答の生成等は、それぞれ個別のモデルにより実現されてもよい。
【００２２】
学習装置１００は、いわゆるスロットフィリングの技術を用いて、ユーザＵ１に対する応答を生成する。例えば、学習装置１００は、所定の条件を有する意図情報がスロット値として格納される１つ以上のスロットを含むモジュールを記憶する。そして、学習装置１００は、発話から生成した意図情報を対応するスロットに格納し、全てのスロットに意図情報が格納されたモジュールが存在する場合は、かかるモジュールと対応する処理を実行し、実行結果を示す応答の生成を行う。
【００２３】
例えば、学習装置１００は、場所を示す文字列がスロット値として登録されるスロットと、施設のタイプを示す文字列がスロット値として登録されるスロットとを有するモジュールを記憶する。具体的には、学習装置１００は、場所を示す文字列と、料理名や料理の種別がスロット値として登録されるスロットとを有する施設検索用のモジュール（より具体的には、飲食施設の検索を行うためのモジュール）を記憶する。この場合、学習装置１００は、発話の文字列から場所を示す文字列や施設の対応を示す文字列をスロット値（すなわち、ユーザＵ１の意図を示す意図情報）として検索する。言い換えれば、学習装置１００は、発話の文字列から、所定の条件を満たす文字列をスロット値として抽出する。このような文字列の抽出は、例えば、形態素解析や辞書データとの比較による単語の意味特定技術等により実現可能である。
【００２４】
また、学習装置１００は、ユーザＵ１との対話を随時進めることで、モジュールに含まれる各スロットに対応するスロット値を格納してもよい。すなわち、学習装置１００は、ユーザＵ１から受け付けた複数の発話から、所定の条件を満たす文字列をスロット値として抽出する。そして、学習装置１００は、施設検索モジュールに含まれる全てのスロットにスロット値が格納された場合に、格納されたスロット値を用いて施設検索モジュールに予め設定された情報処理を実行し、ユーザＵ１への応答を生成してもよい。
【００２５】
例えば、学習装置１００は、施設検索モジュールに、場所（地名）を示すスロット値「赤坂」と、料理名を示すスロット値「スパゲッティ」とが格納された場合は、地名「赤坂」にある施設のうち、料理名「スパゲッティ」に対応する料理を提供する施設をウェブ検索する。例えば、学習装置１００は、スロット値をクエリとして所定の検索エンジンＡＰＩに問い合わせることで、ウェブ検索の結果を取得する。そして、学習装置１００は、取得したウェブ検索の結果を示す応答を生成して、ユーザ端末１０に送信する。
【００２６】
〔１−３．実施形態に係る学習処理〕
上記のようなスロット抽出処理に係るモデルは、例えば、属性情報がラベル付けされた語句を学習データとした機械学習によって生成される。具体的には、学習装置１００は、「赤坂」が「地名」であるという属性情報や、「スパゲッティ」が「料理名」であるという属性情報が対応付けられた（ラベル付けされた）学習データを学習することで、スロット抽出の精度を向上させたモデルを生成することができる。このように、対話のような文字列を学習データとする学習では、対話に含まれる語句の属性情報が機械学習における強力な手がかりとなる。例えば、学習装置１００は、辞書データ等を参照して、予め「赤坂」が「地名」であることや、「スパゲッティ」が「料理名」であるということが対応付けられているデータを学習する場合、「赤坂」が「地名」であることや、「スパゲッティ」が「料理名」であるということが不明なデータを学習した場合に比べて、学習の効率を高めることができる。
【００２７】
一般に、語句の属性情報は、辞書データのような知識データベースから取得される。すなわち、学習装置１００は、辞書データを有するデータベース（図１の例ではクラウドサーバ２００）に問い合わせを行うことにより、不明な語句の属性情報を取得する。そして、学習装置１００は、取得した属性情報に基づいて、スロット抽出に関する学習を行う。
【００２８】
しかしながら、ネットワークを介して行われる対話処理等に関する学習では、通信環境や通信量等によって学習の効率が低下する場合がある。例えば、学習装置１００が保持する辞書（クラウドサーバ２００との区別のため、「ローカル辞書」と表記する）において、「赤坂」や「スパゲッティ」という語句に対応付けられる属性情報が記憶されていないものとする。この場合、学習装置１００は、例えば、「赤坂」について、「あ」や、「あか」や、「あかさ」や、「あかさか」といった語句を順にクラウドサーバ２００に問い合わせる場合がある。また、学習装置１００は、「スパゲッティ」という語句や、その他の属性情報が不明な語句についても、語句を構成する文字ごとに問い合わせを行うことを要する場合がある。また、対話処理の解析では、予め全ての語句にラベル付けされている学習データを用いることが好ましいため、受け付けた対話の全ての語句に対して、正解データを問い合わせるような場合も起こり得る。かかる状況下では、学習装置１００とクラウドサーバ２００の間の問い合わせ処理が頻繁に発生する。このため、かかる処理では、問い合わせ処理の負荷が高くなり、学習の効率を低下させるおそれがある。また、学習装置１００とクラウドサーバ２００との間の通信環境（例えば、所定時間に送受信可能な通信量）も、学習の効率に影響を及ぼすと想定される。
【００２９】
学習装置１００が、自身が保持するローカル辞書によってすべての語句の特徴情報を対応付けることができればよいが、実社会では日々新たな語句が生まれたり、既存の語句に新たな意味が生じたりすることから、ローカル側で全ての情報を保持することは現実的には難しい。また、特に対話処理のような分野では、いわゆるＩｏＴ（Internet  of  Things）機器に入力された発話に対して、複数のサーバ（ＡＰＩ）が連携して処理を行う場合がある。このように、ネットワークを介した通信を前提とする処理では、知識データベースへのアクセス処理や問い合わせ処理の頻度が、学習処理におけるボトルネックとなりうる。また、対話処理に用いるＩｏＴ機器の構成によっては、充分な量のメモリを有さないために、辞書データのような比較的情報量の多いデータを保持することが難しいという場合もありうる。
【００３０】
そこで、実施形態に係る学習装置１００は、以下の学習処理を実行する。まず、学習装置１００は、学習処理に用いられる第１データ（図１の例では、ユーザＵ１の発話）から、当該第１データの一部を構成する部分データ（図１の例では、属性情報が不明であると仮定する「あかさか」や「スパゲッティ」の文字列）に対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。そして、学習装置１００は、生成されたクエリを所定のデータベース（図１では、クラウドサーバ２００）に問い合わせることで、部分データに対応付けられる特徴情報を取得する。さらに、学習装置１００は、取得した特徴情報に基づいて、第１データを学習データとして所定のモデルを生成するための学習を行う。
【００３１】
すなわち、学習装置１００は、学習に利用する第１データの全てをクラウドサーバ２００に問い合わせるのではなく、特徴情報が不明確な部分データに対応付けられる特徴情報を取得するためのクエリを生成し、生成したクエリによる問い合わせを行う。そして、学習装置１００は、生成したクエリを知識データベースに問い合わせることで、特徴情報が不明確な部分データに関する特徴情報を取得する。そして、学習装置１００は、取得した特徴情報に基づいて学習を行う。これにより、学習装置１００は、不明な語句を含む対話データを学習データとする場合であっても、無駄な問い合わせ処理を排除した高速な学習処理を実現することができる。以下、図１を用いて、実施形態に係る学習処理の流れについて説明する。なお、以下で説明する学習処理には、種々の既知の技術が用いられてもよい。例えば、対話におけるスロット抽出処理は、任意の分類技術により実現可能である。例えば、学習装置１００は、ＳＶＭ（Support  Vector  Machine）やＤＮＮ（Deep  Neural  Network）等、任意の学習器又は分類器等のモデルを用いて、スロット抽出を行ってよい。
【００３２】
図１の例において、まず、ユーザ端末１０は、ユーザＵ１から発話を受け付ける。そして、ユーザ端末１０は、受け付けた発話を学習装置１００に送信する（ステップＳ０１）。例えば、ユーザ端末１０は、「赤坂にあるスパゲッティのお店教えて」といったユーザＵ１の発話を送信する。
【００３３】
学習装置１００は、ユーザ端末１０から受け付けた発話を解析する。例えば、学習装置１００は、「赤坂にあるスパゲッティのお店教えて」といったユーザＵ１の発話を形態素解析する（ステップＳ０２）。なお、図１の例では、学習装置１００は、「赤坂」や「スパゲッティ」に対応付けられる特徴情報（例えば、地名や料理名等の属性情報）の知識をローカル側で保持していないと仮定する。すなわち、学習装置１００にとって、「赤坂（あかさか）」や「スパゲッティ」という文字列は非自明なものであり、そのため属性情報のラベル付けが行われない文字列であるものとする。
【００３４】
この場合、学習装置１００は、例えば、ユーザＵ１の発話を、「あかさか」「に」「ある」「スパゲッティ」「の」「お店」「教えて」や、「あか」「さか」「に」「ある」「スパゲッティ」「の」「お店」「教えて」や、「あかさか」「に」「ある」「スパ」「ゲッティ」「の」「お店」「教えて」等、形態素解析の結果としていくつかの候補を出力する。そして、学習装置１００は、形態素解析の結果から、ユーザＵ１の発話に関するドメインを判定する（ステップＳ０３）。
【００３５】
例えば、学習装置１００は、既存のドメイン判定モデルを用いて、発話のドメインを判定する。具体的には、学習装置１００は、発話のパターンとドメインとの関係性を学習したドメイン判定モデルを用いて、ユーザＵ１の発話が属するドメインの尤度を出力する。そして、学習装置１００は、例えば最も尤度の高いドメインのモジュールにユーザＵ１の発話を入力する。図１の例では、学習装置１００は、例えばパターンマッチングが学習されたドメイン判定モデルにより、ユーザＵ１の発話は施設検索に関するドメインに属するものであると判定されたものとする。この場合、学習装置１００は、施設検索モジュールのスロットにユーザＵ１の発話を入力することを試みる。なお、上記では、形態素解析ののちにドメインを判定する処理を行う例を示しているが、学習装置１００は、形態素解析を行わずに発話のパターンからドメインを判定してもよい。
【００３６】
図１に示す例では、施設検索モジュールは、例えば、「地名」と、「料理名」もしくは「料理種別」等の属性情報に対応付けられた語句が入るスロットを有するものとする。この場合、学習装置１００は、スロットに入る語句（以下、「スロット値」と表記する場合がある）を抽出するための処理を行う。まず、学習装置１００は、発話に含まれる語句の属性情報を判定する（ステップＳ０４）。そして、学習装置１００は、発話に含まれる語句のうち、対応付けられる属性情報が不明である語句を抽出する（ステップＳ０５）。
【００３７】
属性情報が不明である語句を抽出する手法の一例として、学習装置１００は、形態素解析された語句に対する属性情報の対応付け（系列ラベリング）によるｎ−ｂｅｓｔ解を出力し、相違する箇所の語句を抽出するといった手法を採りうる。図１に示す例では、学習装置１００は、ユーザＵ１の発話に、「あかさか」「に」「ある」「スパゲッティ」「の」「お店」「教えて」や、「あか」「さか」「に」「ある」「スパゲッティ」「の」「お店」「教えて」や、「あかさか」「に」「ある」「スパ」「ゲッティ」「の」「お店」「教えて」等の語句が含まれると解析している。かかる語句に対して、学習装置１００が属性情報を対応付けした場合に、複数の候補が存在し、その尤度により順位付けされた上位所定数の候補が、対応付けにおけるｎ−ｂｅｓｔ解である。図１に示した例では、学習装置１００にとって不明な文字列である「あかさか」や「スパゲッティ」については、対応付けされる属性情報の候補が複数存在し、学習装置１００が属性情報を決定しきれない可能性が高い語句である。一方、「お店」や「教えて」等の語句については、発話における順序や品詞等に基づいて、比較的、一意に属性情報が対応付けされ易い語句である。このため、上記した３つの例のように、「あかさか」や「スパゲッティ」の区切りが異なる出力結果がｎ−ｂｅｓｔ解として出力され易いと想定される。
【００３８】
そして、学習装置１００は、ｎ−ｂｅｓｔ解のうち、相違する箇所の語句を抽出する。説明を簡単にするため、２つの候補を例に挙げて説明する。例えば、「あかさか」「に」「ある」「スパゲッティ」「の」「お店」「教えて」と、「あか」「さか」「に」「ある」「スパ」「ゲッティ」「の」「お店」「教えて」の２つの候補の相違箇所は、「スパゲッティ」と、「スパ」「ゲッティ」の部分である。これは、「赤（あか）」や「坂（さか）」が、各々に個別の意味を有する語句であること、また、「スパ」が温泉等を意味する既知の語句であることから、属性情報の対応付けの結果として相違する結果が出力されたことを意味する。学習装置１００は、相違する箇所の文字列（部分データ）である「あかさか」と「スパゲッティ」を抽出する。これは、言い換えれば、現時点の処理において、学習装置１００が、「あかさか」や「スパゲッティ」という文字列に対して一意に属性情報を決定しきれていない状況を示す。
【００３９】
そこで、学習装置１００は、抽出した文字列に基づいて、外部の知識データベースであるクラウドサーバ２００に問い合わせるためのクエリを生成する（ステップＳ０６）。例えば、学習装置１００は、「あかさか」という一連の文字列を抽出したうえで、かかる文字列から、問い合わせのためのクエリを生成する。具体的には、学習装置１００は、属性情報を決定するための確度が低い（言い換えれば、属性情報を決定しきれない）文字列に基づいて、問い合わせのためのクエリを生成する。例えば、学習装置１００は、「赤（あか）」や「坂（さか）」が既知の語句であり、その語句に対する属性情報の確度が高い場合には、問い合わせのクエリとはせず、残った語句のうち、属性情報が不明な語句であり確度が低い「あかさか」をクエリとして生成する。また、学習装置１００は、「スパゲッティ」という一連の文字列を抽出したうえで、かかる文字列から、問い合わせのためのクエリを生成する。例えば、学習装置１００は、「スパ」が既知の語句であり、その属性情報の確度が高い場合には、問い合わせのクエリとはせず、残った語句のうち、属性情報が不明であり確度が低い語句である「ゲッティ」と「スパゲッティ」を、問い合わせのクエリとして生成する。なお、学習装置１００は、文字列に対応付けられる属性情報が既知であっても、いずれの属性情報を対応付けるかといった判断に迷う場合（例えば、同程度の確度である場合）には、その文字列に基づいて問い合わせのクエリを生成してもよい。また、学習装置１００は、文字列に対応付けられる属性情報が不明であったとしても、いずれかの属性情報を一意に対応付けることができると判断した場合（例えば、任意の属性情報の確度が高い場合）には、その文字列を問い合わせるためのクエリを生成しなくてもよい。
【００４０】
そして、学習装置１００は、生成したクエリである「あかさか」、「ゲッティ」及び「スパゲッティ」をクラウドサーバ２００に送信する（ステップＳ０７）。クラウドサーバ２００は、地名辞書や料理名辞書等、種々の分野における辞書データベースを有する。そこで、クラウドサーバ２００は、クエリに対応する辞書データから属性情報を検索する（ステップＳ０８）。
【００４１】
クラウドサーバ２００は、地名辞書データを参照し、例えば、「あかさか」の属性情報が「地名」であることを参照する。また、クラウドサーバ２００は、料理名辞書データを参照し、例えば、「スパゲッティ」の属性情報が「料理名」であることを参照する。また、クラウドサーバ２００は、種々の辞書データを参照し、「ゲッティ」の属性情報については「なし（もしくは不明）」であることを参照する。そして、クラウドサーバ２００は、問い合わせられたクエリに対応する属性情報を学習装置１００に送信する（ステップＳ０９）。
【００４２】
学習装置１００は、クラウドサーバ２００から取得した属性情報に基づいて、ユーザＵ１の発話から施設検索モジュールのスロットに入力するスロット値を抽出する。具体的には、学習装置１００は、スロット値として、地名の属性を有する「赤坂」と、料理名の属性を有する「スパゲッティ」とを抽出する。そして、学習装置１００は、抽出した語句に基づいて、発話に対する応答を生成し、生成した応答をユーザ端末１０に送信する（ステップＳ１０）。例えば、学習装置１００は、施設検索モジュールに予め設定された処理に従い、「「赤坂」にある「スパゲッティ」を提供するレストラン」を検索し、検索結果をユーザ端末１０に送信する。
【００４３】
その後、ユーザ端末１０は、所定のフィードバックを学習装置１００に送信してもよい（ステップＳ１１）。例えば、ユーザ端末１０は、ユーザＵ１が提示されたレストランのいずれかにアクセスしたことや、予約を行ったこと等を学習装置１００に送信する。この場合、学習装置１００は、学習装置１００の応答（スロット抽出）が正解であったと判定する。すなわち、かかるスロット抽出は、学習処理における正例となりうる。
【００４４】
あるいは、ユーザ端末１０は、学習装置１００から送信された応答を提示した直後に、ユーザＵ１から異なる内容の発話を受け付けたこと等を学習装置１００に送信する。この場合、ユーザＵ１は自身が意図していた内容と異なる応答を提示されたため、さらに異なる発話をユーザ端末１０に入力したと推定される。言い換えれば、学習装置１００の応答（スロット抽出）は、不正解であったと推定される。すなわち、かかるスロット抽出は、学習処理における負例となりうる。
【００４５】
上記のようなスロット抽出、応答、及びフィードバックの受信を経て、学習装置１００は、スロット抽出に係る学習を行う（ステップＳ１２）。例えば、学習装置１００は、スロット抽出に係るモデルを生成するための処理や、既存のモデルを更新する処理を行う。なお、学習装置１００は、クラウドサーバ２００に問い合わせて取得した結果をローカル辞書に追加してもよい。
【００４６】
このように、実施形態に係る学習装置１００は、学習処理に用いられるユーザＵ１の発話から、当該発話の一部を構成する部分データに対応付けられる特徴情報をクラウドサーバ２００に問い合わせるためのクエリを生成する。また、学習装置１００は、生成したクエリをクラウドサーバ２００に問い合わせることで、部分データに対応付けられる特徴情報を取得する。そして、学習装置１００は、取得した特徴情報に基づいて、ユーザＵ１の発話を学習データとして所定のモデルを生成するための学習を行う。
【００４７】
すなわち、学習装置１００は、受け付けた発話の全てを知識データベースに問い合わせず、任意の部分データからクエリを生成したうえで、生成したクエリを知識データベースに問い合わせる。これにより、学習装置１００は、ネットワークを介して知識データベースの情報を得るような機械学習において、通信のスループットが比較的低い環境下であっても、効率的に学習を行うことができる。
【００４８】
なお、学習装置１００は、ユーザＵ１の発話からスロット値を抽出する処理において、発話に対応する文字列に関する情報のみならず、ユーザＵ１に関する他の情報を考慮した学習処理を行ってもよい。例えば、学習装置１００は、ユーザ端末１０が所在する位置情報や、ユーザＵ１との過去の対話、ユーザＵ１のデモグラフィック属性やバイオグラフィック属性等を考慮して、ユーザＵ１の発話に含まれる語句の属性情報を推定する処理や、スロット抽出に関する処理を行ってもよい。
【００４９】
また、学習装置１００は、発話の内容と、ユーザＵ１の属性とに基づいて、スロット値を選択してもよい。例えば、学習装置１００は、発話を行ったユーザＵ１が男性である場合には、比較的ボリュームが多い食事を提供するレストランを検索し、ユーザＵ１が女性である場合は、カフェなどの雰囲気が良いレストランの検索を行ってもよい。
【００５０】
また、学習装置１００は、上述した情報以外にも、ユーザＵ１の住所や年齢等といったデモグラフィック属性や趣味趣向等のサイコグラフィック属性に基づいて、学習処理を行ってもよい。例えば、学習装置１００は、ユーザＵ１の各種属性に基づいて、ユーザＵ１の意図をより強く示すと推定される候補を優先的に選択するように、スロット抽出を行う際の重みづけを設定してもよい。また、学習装置１００は、ユーザＵ１が発話した時間帯等、他の情報を考慮して、スロット値の抽出を行ってもよい。
【００５１】
また、学習装置１００は、上述した処理以外にも、任意の処理を合わせて実行してもよい。例えば、上述した説明では、学習装置１００は、発話の文字列からスロット値の抽出や選択を行った。しかしながら、実施形態は、これに限定されるものではない。例えば、学習装置１００は、発話の文字列を作成するような音声認識を実行せず、音声の波形データから直接スロット値の抽出や選択を行ってもよい。例えば、学習装置１００は、スロット値として登録される波形の特徴をスロット値の条件として保持し、発話の音声の波形から、スロット値の条件として保持した特徴を有する波形部分を抽出し、抽出した波形部分をスロット値としてもよい。また、学習装置１００は、音声の波形と、文字列または音声の波形により実現されるスロット値の候補との間の関係性の特徴を学習したＤＮＮ等を用いて、発話の音声波形から、スロット値の選択を行ってもよい。
【００５２】
〔２．学習処理システムの構成〕
次に、図２を用いて、実施形態に係る学習装置１００が含まれる学習処理システム１の構成について説明する。図２は、実施形態に係る学習処理システム１の構成例を示す図である。図２に例示するように、実施形態に係る学習処理システム１には、ユーザ端末１０と、学習装置１００と、クラウドサーバ２００が含まれる。これらの各種装置は、ネットワークＮ（例えば、インターネット）を介して、有線又は無線により通信可能に接続される。なお、図２に示した学習処理システム１には、複数台のユーザ端末１０や、複数台のクラウドサーバ２００が含まれてもよい。
【００５３】
ユーザ端末１０は、例えば、スマートフォンや、デスクトップ型ＰＣ（Personal  Computer）や、ノート型ＰＣや、タブレット型端末や、携帯電話機、ＰＤＡ（Personal  Digital  Assistant）、ウェアラブルデバイス（Wearable  Device）等の情報処理装置である。ユーザ端末１０は、ユーザから発話を受け付けたり、受け付けた発話のデータを学習装置１００に送信したりする。なお、本明細書中においては、ユーザとユーザ端末１０とを同一視する場合がある。例えば、「ユーザに応答を送信する」とは、実際には、「ユーザが利用するユーザ端末１０に応答を送信する」ことを意味する場合がある。
【００５４】
学習装置１００は、所定の学習処理を行うサーバ装置である。実施形態では、学習装置１００は、対話処理におけるスロット抽出に係る学習を行う。学習装置１００は、学習処理において利用される知識データのうち自身が保持しない情報に関しては、所定のデータベース（例えばクラウドサーバ２００）に問い合わせを行いつつ学習処理を行う。
【００５５】
クラウドサーバ２００は、学習装置１００が利用するための知識データを提供する情報処理装置である。クラウドサーバ２００は、単独のサーバ装置であってもよいし、複数のサーバから構成されるクラウドシステムであってもよい。例えば、クラウドサーバ２００は、それぞれ異なる複数のサービスを提供する複数のサーバ装置によって実現されてもよい。また、クラウドサーバ２００は、ウェブサーバであってもよい。例えば、クラウドサーバ２００は、ウェブ検索エンジンを実行することによって、学習装置１００から問い合わせを受けた情報に関する応答を行ってもよい。
【００５６】
〔３．学習装置の構成〕
次に、図３を用いて、実施形態に係る学習装置１００の構成について説明する。図３は、実施形態に係る学習装置１００の構成例を示す図である。図３に示すように、学習装置１００は、通信部１１０と、記憶部１２０と、制御部１３０とを有する。なお、学習装置１００は、学習装置１００を利用する管理者等から各種操作を受け付ける入力部（例えば、キーボードやマウス等）や、各種情報を表示するための表示部（例えば、液晶ディスプレイ等）を有してもよい。
【００５７】
（通信部１１０について）
通信部１１０は、例えば、ＮＩＣ（Network  Interface  Card）等によって実現される。かかる通信部１１０は、ネットワークＮと有線又は無線で接続され、ネットワークＮを介して、ユーザ端末１０や、クラウドサーバ２００との間で情報の送受信を行う。
【００５８】
（記憶部１２０について）
記憶部１２０は、例えば、ＲＡＭ（Random  Access  Memory)、フラッシュメモリ（Flash  Memory）等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。図３に示すように、記憶部１２０は、モジュールデータベース１２１と、ローカル辞書データベース１２２と、モデルデータベース１２３と、キャッシュデータベース１２４とを有する。
【００５９】
（モジュールデータベース１２１について）
モジュールデータベース１２１は、各モジュールの情報を記憶する。ここで、図４に、実施形態に係るモジュールデータベース１２１の一例を示す。図４は、実施形態に係るモジュールデータベース１２１の一例を示す図である。図４に示した例では、モジュールデータベース１２１は、「モジュールＩＤ」、「ドメイン」、「実行処理」、「スロット名」、「属性情報」といった項目を有する。
【００６０】
「モジュールＩＤ」とは、モジュールを識別する識別情報である。「ドメイン」は、モジュールが属するドメイン（分野）を示す。「実行処理」は、モジュールが実行する処理を示す。なお、図４では、「実行処理」の項目に「処理＃１」といった概念的な情報が記憶される例を示したが、実際には、実行処理の項目には、「スロット値に対応する検索処理を行い、行った検索の結果をユーザに応答する」といった具体的な情報処理が記憶される。
【００６１】
「スロット名」は、モジュールが含むスロットの名称（識別情報）を示す。「属性情報」は、対応付けられた「スロット名」が示すスロットにスロット値として格納される文字列等の属性情報、言い換えれば、スロット値として格納される文字列の条件を示す情報である。なお、図４に示す「属性情報＃地名」とは、属性情報の一例である「地名」が対応付けられた文字列がスロット値として抽出されることを示す。
【００６２】
すなわち、図４では、モジュールデータベース１２１に格納される情報の一例として、モジュールＩＤが「Ｍ０１」のモジュールは、ドメインが「施設検索」に関するものであり、実行する処理は「処理＃１」であることを示している。また、当該モジュールは、スロット名が「地名」と「料理名／料理種別」のスロットを有しており、「地名」のスロット値として抽出される語句は、属性情報として「属性情報＃地名」が対応付けられている語句であり、「料理名／料理種別」のスロット値として抽出される語句は、属性情報として「属性情報＃料理名」、あるいは「属性情報＃料理種別」が対応付けられている語句であることを示している。
【００６３】
（ローカル辞書データベース１２２について）
ローカル辞書データベース１２２は、学習装置１００が有する辞書データの情報を記憶する。ここで、図５に、実施形態に係るローカル辞書データベース１２２の一例を示す。図５は、実施形態に係るローカル辞書データベース１２２の一例を示す図である。図５に示した例では、ローカル辞書データベース１２２は、「語句ＩＤ」、「語句」、「品詞」、「属性情報」といった項目を有する。
【００６４】
「語句ＩＤ」とは、語句（文字列）を識別する識別情報である。「語句」は、辞書データに登録されている具体的な語句を示す。「品詞」は、辞書データに登録されている品詞を示す。「属性情報」は、辞書データに登録されている属性情報を示す。なお、図５に示す例では、「語句＃１」、「品詞＃１」、「属性情報＃１」等といった概念的な値を記載したが、実際には、各項目には、具体的な語句の文字列や、具体的な品詞の種類や、具体的な属性情報の種別等が記憶される。
【００６５】
すなわち、図５では、ローカル辞書データベース１２２に格納される情報の一例として、語句ＩＤが「Ｗ０１」である語句は、「語句＃１」という文字列からなる語句であり、その品詞は「品詞＃１」であり、属性情報が「属性情報＃１」であることを示している。
【００６６】
（モデルデータベース１２３について）
モデルデータベース１２３は、学習装置１００が生成したモデルの情報を記憶する。ここで、図６に、実施形態に係るモデルデータベース１２３の一例を示す。図６は、実施形態に係るモデルデータベース１２３の一例を示す図である。図６に示した例では、モデルデータベース１２３は、「モデル種別」、「ドメイン」、「学習データ」といった項目を有する。
【００６７】
「モデル種別」とは、モデルの種別を示す。「ドメイン」は、モデルの処理の対象となるドメインを示す。「学習データ」は、モデルの生成に用いられる学習データを示す。なお、図６に示す例では、「学習データ＃１」といった概念的な値を記載したが、実際には、学習データには、ユーザの発話に対応する文字列や、当該文字列の各々の語句に対応してラベル付けされた属性情報が記憶される。また、学習データは、学習装置１００が発話を受け付けるたびに、発話と、発話に対応する文字列が含む語句に対応付けられた属性情報とのセットが追加され、更新されてもよい。また、学習データには、スロット値として抽出した語句が正例であったか負例であったかといった結果情報を含んでもよい。
【００６８】
すなわち、図６では、モデルデータベース１２３に格納される情報の一例として、モデル種別が「スロット抽出モデル」であるモデルのドメインは「施設検索」に関するものであり、当該モデルの生成及び更新に利用される学習データは「学習データ＃１」であることを示している。
【００６９】
なお、図６での図示は省略したが、モデルデータベース１２３は、スロット抽出モデル以外にも、実施形態に係る処理を実現するための種々のモデルを記憶してもよい。具体的には、モデルデータベース１２３は、ドメイン判定モデルや、音声を認識して文字列へ変換するための音声認識モデルや、ユーザから受け付けた発話に対して自然な応答を行うための対話モデル等を記憶する。
【００７０】
（キャッシュデータベース１２４について）
キャッシュデータベース１２４は、学習装置１００が取得した特徴情報のキャッシュを記憶する。ここで、図７に、実施形態に係るキャッシュデータベース１２４の一例を示す。図７は、実施形態に係るキャッシュデータベース１２４の一例を示す図である。図７に示した例では、キャッシュデータベース１２４は、「語句ＩＤ」、「語句」、「キャッシュ情報」といった項目を有する。また、「キャッシュ情報」は、「登場回数」、「品詞」、「属性情報」といった小項目を有する。
【００７１】
「語句ＩＤ」及び「語句」は、図５に示した同一の項目に対応する。「キャッシュ情報」は、クラウドサーバ２００に問い合わせを行い、得られた特徴情報のキャッシュを示す。「登場回数」は、ユーザから受け付けた発話に語句が登場した回数を示す。「品詞」は、クラウドサーバ２００への問い合わせによって得られた、語句の品詞を示す。「属性情報」は、クラウドサーバ２００への問い合わせによって得られた、語句の属性情報を示す。なお、「品詞」や「属性情報」は、一つの情報のみならず、複数の情報が格納されてもよい。すなわち、同一の語句であっても、例えば、問い合わせる辞書データによっては、異なる品詞や属性情報が応答される場合がある。このような場合、学習装置１００は、問い合わせのキャッシュとして、複数の情報を格納するようにしてもよい。
【００７２】
すなわち、図７では、キャッシュデータベース１２４に格納される情報の一例として、語句ＩＤが「Ｗ１１」である語句は、「語句＃１１」という文字列からなる語句であり、これまでの発話に登場した回数が「２００」回であることを示している。また、語句ＩＤが「Ｗ１１」である語句は、問い合わせの結果として、品詞が「名詞」であり、属性情報が「属性情報＃地名」であるという情報が得られていることを示している。
【００７３】
なお、実施形態では、ローカル辞書データベース１２２と、キャッシュデータベース１２４とを異なるデータテーブルとして記載したが、キャッシュデータベース１２４に格納される情報は、学習装置１００がローカルで保持する情報としてローカル辞書データベース１２２内に記憶されてもよい。
【００７４】
（制御部１３０について）
制御部１３０は、コントローラ（controller）であり、例えば、ＣＰＵ（Central  Processing  Unit）やＭＰＵ（Micro  Processing  Unit）等によって、学習装置１００内部の記憶装置に記憶されている各種プログラム（学習プログラムの一例に相当）がＲＡＭを作業領域として実行されることにより実現される。また、制御部１３０は、コントローラであり、例えば、ＡＳＩＣ（Application  Specific  Integrated  Circuit）やＦＰＧＡ（Field  Programmable  Gate  Array）等の集積回路により実現される。
【００７５】
図３に示すように、制御部１３０は、受付部１３１と、ドメイン判定部１３２と、クエリ生成部１３３と、取得部１３４と、学習部１３５とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部１３０の内部構成は、図３に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部１３０が有する各処理部の接続関係は、図３に示した接続関係に限られず、他の接続関係であってもよい。
【００７６】
（受付部１３１について）
受付部１３１は、各種情報を受け付ける。例えば、受付部１３１は、ユーザ端末１０から送信される発話を受け付ける。なお、受付部１３１は、発話に限らず、ユーザ端末１０から送信される文字列（テキストデータ）を受け付けてもよい。
【００７７】
（ドメイン判定部１３２について）
ドメイン判定部１３２は、受付部１３１によって受け付けられた発話のドメインを判定する。すなわち、ドメイン判定部１３２は、ユーザの発話を分類し、ユーザの発話が属するドメインを特定する。
【００７８】
例えば、ドメイン判定部１３２は、ユーザの発話をテキストデータに変換する。なお、ドメイン判定部１３２は、音声データをテキストデータへと変換する所定の外部サーバを介して、ユーザの発話をテキストデータに変換してもよい。そして、ドメイン判定部１３２は、各種の文字解析技術や分類技術を用いて、当該テキストデータがどのような分野に属する内容であるかを判定する。例えば、ドメイン判定部１３２は、ＳＶＭ等により生成された任意のドメイン判定モデルを用いて、ユーザの発話がどのような分野に属する内容であるかを判定する。
【００７９】
（クエリ生成部１３３について）
クエリ生成部１３３は、学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。なお、第１データとは、学習処理に用いられる一の学習データ（実施形態では、ユーザの発話）を概念的に示すものである。例えば、後述する学習部１３５は、複数の第１データを学習データとして、スロット抽出モデル等を生成するための学習を行う。なお、クエリ生成部１３３が生成するクエリとは、具体的な文字列であってもよいし、所定の語句に対応付けられる特徴情報を取得するためのプログラムや命令文であってもよい。すなわち、クエリとは、所定の語句に対応付けられる特徴情報を所定のデータベースに問い合わせるための情報であれば、その態様はどのようなものであってもよい。
【００８０】
クエリ生成部１３３は、所定のデータベースに依らずに第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、クエリを生成する。例えば、クエリ生成部１３３は、学習装置１００がローカルで保持する情報を参照し、第１データが含む部分データに対応付けられる特徴情報を判定する。具体的には、クエリ生成部１３３は、ローカル辞書データベース１２２等を参照して、第１データである文字列が含む各語句の属性情報が自明であるか否かを判定する。なお、クエリ生成部１３３は、かかる処理を行う場合には、ユーザの発話を形態素解析し、解析された各語句に対応付けられる属性情報を判定してもよい。
【００８１】
この場合、クエリ生成部１３３は、第１データを構成する部分データに対応付けられる特徴情報の候補が複数存在する場合に、部分データに基づいてクエリを生成するようにしてもよい。
【００８２】
例えば、図１に示したように、「赤坂」や「スパゲッティ」という語句が自明でないと仮定すると、「あかさか」や「スパゲッティ」という文字列は、「あか」、「さか」、「あかさか」、「スパ」、「ゲッティ」、「スパゲッティ」といったような、複数の語句の候補を含む。このため、かかる部分に対応付けられる特徴情報の候補も複数存在することになる。クエリ生成部１３３は、このように部分データにおいて対応付けられる特徴情報が複数存在する場合に、かかる部分データに対応付けられる特徴情報を取得するためのクエリを生成する。上記の例では、クエリ生成部１３３は、「スパゲッティ」の部分データに対応する特徴情報（すなわち、語句にラベル付けされる属性情報）を取得するため、クラウドサーバ２００に問い合わせるクエリとして「ゲッティ」や「スパゲッティ」を生成する。
【００８３】
また、ローカル辞書によっては、「赤坂」や「スパゲッティ」の語句に対して、複数の属性情報が付与されている場合もありうる。具体的には、一の語句は、地名でもあり料理名でもあるような、複数の属性を有する場合がありうる。この場合、クエリ生成部１３３は、ローカル側では、当該語句に対応付ける属性情報を決定できない可能性がある（例えば、語句に対応付ける属性情報が複数あり、それぞれの尤度（確度）が同じくらいであると判断される場合など）。このような場合、クエリ生成部１３３は、当該語句をクラウドサーバ２００に問い合わせるためのクエリを生成する。すなわち、クエリ生成部１３３は、ローカル側の処理において、特徴情報の候補が複数存在する場合には、語句に対応付ける特徴情報を確定させるために、当該語句に関するクエリを生成する。なお、図１で示したように、クエリ生成部１３３は、一の語句に対応付け（系列ラベリング）される属性情報の候補が複数存在する場合には、当該属性情報が対応付けられる確度の高い順に所定数の候補を抽出して（ｎ−ｂｅｓｔ解を出力して）クエリを生成するようにしてもよい。例えば、クエリ生成部１３３は、ローカル辞書データや、語句の前後の文字列のパターン、既知のラベル判定モデル等によって属性情報が対応付けられる確度を判定する。
【００８４】
ここで、クエリ生成部１３３は、所定のデータベースとの間の通信に関する情報に基づいて、クエリを生成する量を調整してもよい。例えば、学習装置１００とクラウドサーバ２００との間の通信環境が良好である場合（例えば、所定時間に送受信できる通信量が所定の閾値を超える場合）、クエリ生成部１３３は、ユーザから受け付けた発話の全てをクエリとしてクラウドサーバ２００に送信し、発話の解析や、解析された語句にラベル付けされる属性情報の全てを取得してもよい。一方で、クエリ生成部１３３は、学習装置１００とクラウドサーバ２００との間の通信環境が良好でない場合（例えば、所定時間に送受信できる通信量が所定の閾値以下である場合）、クエリ生成部１３３は、特徴情報が不明な部分データのうち、所定数の部分データを問い合わせるように、選択的にクエリを生成してもよい。あるいは、クエリ生成部１３３は、特徴情報が不明な部分データのうち、無作為に所定数の部分データを抽出し、抽出した部分データからクエリを生成してもよい。
【００８５】
また、クエリ生成部１３３は、第１データが含む所定の部分データにおいて、語句として抽出される候補が複数存在する場合には、形態素解析における尤度の高い順に所定数の候補を抽出してクエリを生成するようにしてもよい。
【００８６】
例えば、図１で示したように、「赤坂」と「スパゲッティ」という語句が自明でない場合であって、「赤坂にあるスパゲッティのお店教えて」という発話が形態素解析される場合、「あかさか」という部分は、種々の語句に解析される可能性がある。例えば、「あかさか」という部分は、「あ」と「かさか」や、「あか」と「さか」や、「あかさ」と「か」や、「あかさか」といった語句に解析される可能性がある。しかしながら、形態素解析において、１文字だけが語句として解析される尤度は低いと推定されること、また、「赤」や「坂」が既知の語句であることから、「あかさか」という部分が解析される尤度としては、「あか」と「さか」、及び、「あかさか」とが比較的高いと推定される。そして、「あ」や「か」等の一文字だけのクエリで問い合わせを行うよりも、形態素解析の尤度の高い語句「あか」や「さか」や「あかさか」を問い合わせた方が、学習に有用な情報が得られる可能性が高いと推定される。このため、クエリ生成部１３３は、形態素解析において尤度の高い「あか」や「さか」や「あかさか」に対応付ける属性情報を問い合わせるためのクエリを生成する。
【００８７】
なお、クエリ生成部１３３は、文字列である第１データから無作為に語句を抽出し、抽出された語句に基づいてクエリを生成してもよい。すなわち、ユーザの発話が含む全ての語句に対応付けられる属性情報が特定されていなくても、学習処理に影響を与えない可能性もある。このため、通信負荷を抑制するため、クエリ生成部１３３は、ユーザの発話のうち、無作為に語句を抽出し、抽出された語句に対応付ける属性情報を問い合わせるためのクエリを生成してもよい。
【００８８】
（取得部１３４について）
取得部１３４は、クエリ生成部１３３によって生成されたクエリを所定のデータベースに問い合わせることで、部分データに対応付けられる特徴情報を取得する。
【００８９】
具体的には、取得部１３４は、第１データがユーザの発話に対応する文字列である場合、特徴情報として、クエリ生成部１３３によって生成されたクエリに対応付けられる属性情報をクラウドサーバ２００から取得する。
【００９０】
取得部１３４は、取得した情報を学習部１３５に送る。また、取得部１３４は、取得した情報を記憶部１２０内に格納する。例えば、取得部１３４は、取得した属性情報と語句とを対応付けて、キャッシュデータベース１２４に格納する。
【００９１】
（学習部１３５について）
学習部１３５は、取得部１３４によって取得された特徴情報に基づいて、第１データを学習データとして所定のモデルを生成するための学習を行う。具体的には、学習部１３５は、第１データがユーザの発話に対応する文字列である場合、取得部１３４によって取得された属性情報であって、文字列に含まれる語句に対応付けられる属性情報に基づいて学習を行う。
【００９２】
なお、学習部１３５は、過去の問い合わせによって特徴情報が記憶部１２０に保持されている場合には、記憶部１２０に保持されている特徴情報に関して所定のデータベースへの新たな問い合わせを発生させることなく学習を行ってもよい。すなわち、学習部１３５は、ローカルで保持されているキャッシュを利用することにより、クラウドサーバ２００との通信処理を極力発生させないようにすることで、学習の効率性を向上させることができる。
【００９３】
例えば、実施形態に係る学習部１３５は、対話処理におけるモジュールのスロット抽出を学習し、スロット抽出モデルを生成する。そして、学習部１３５は、記憶部１２０に記憶されるスロット抽出モデルに従った情報処理により、スロット抽出モデルの入力層に入力されたユーザの発話に対し、スロット抽出モデルが有する係数（すなわち、スロット抽出モデルが学習した特徴に対応する係数）に基づく演算を行う。そして、学習部１３５は、スロット抽出モデルの出力層から、ユーザの発話に対応するモジュールのスロット値として抽出される語句の尤度、すなわち、スロット値として適切であることを定量的に示す値（スコア）を出力する。学習部１３５は、かかるスコアに基づいて、モジュールのスロットに入る語句を抽出する。また、学習部１３５は、抽出した語句がスロット値として適切であったか否かのフィードバックに基づいて、さらにスロット抽出に関する学習を行う。すなわち、学習部１３５は、スロット抽出モデルの更新及び改良を継続的に行う。
【００９４】
具体的には、学習部１３５は、スロット抽出を行う場合には、発話に含まれる語句が所定の条件を満たすと判定される場合に、応答の生成に用いるための語句を発話から抽出する。例えば、学習部１３５は、モジュールデータベース１２１に格納された属性情報を参照することで、スロット値としてスロットに格納されうる語句が満たすべき属性情報を特定する。そして、学習部１３５は、特定した属性を有する語句を抽出する。その後、学習部１３５は、抽出した文字列をスロット値としてモジュールに格納する。例えば、学習部１３５は、モジュールＩＤと、スロット名と、抽出したスロット値とを対応付けて所定のメモリに格納する。
【００９５】
なお、学習部１３５は、発話の内容と、その発話よりも前にユーザから受け付けた発話の内容とに基づいて、応答の生成に用いる語句を候補の中から選択してもよい。すなわち、学習部１３５は、ユーザとの過去の対話に基づいて、スロット値の候補の絞り込みを行い、絞り込んだスロット値の候補の中から、最後の発話に基づいて、スロット値の選択を行ってもよい。また、学習部１３５は、発話の内容と、ユーザの属性とに基づいて、応答の生成に用いる文字列を候補から選択してもよい。例えば、学習部１３５は、ユーザの属性に基づいて、スロット値の候補の絞り込みを行ってもよい。
【００９６】
また、学習部１３５は、抽出された語句を用いて、発話に対する応答を生成する。例えば、学習部１３５は、学習部１３５がスロット値を抽出する度に、モジュールの全てのスロットにスロット値が格納されたか否かを判定する。そして、学習部１３５は、いずれかのモジュールの全てのスロットにスロット値が格納された場合は、係るモジュールと対応する実行処理の処理内容をモジュールデータベース１２１から特定し、特定した処理内容の処理を実行する。
【００９７】
例えば、学習部１３５は、処理対象となるモジュールの各スロットのスロット名とスロット値とを対応付けた検索クエリを生成し、生成した検索クエリに基づいてウェブ検索処理を行うことで、ユーザの発話に基づく検索処理を実行する。そして、学習部１３５は、検索結果を取得すると、取得した検索結果をユーザに対して説明する内容の応答を生成する。具体的には、学習部１３５は、ユーザが発話によって尋ねた目的に合致する応答（図１の例では、「赤坂にあるスパゲッティのお店教えて」というユーザの発話に対する応答結果）を生成し、ユーザ端末１０に送信する。
【００９８】
なお、学習部１３５は、全てのスロットにスロット値が格納されたモジュールが存在しない場合、もしくは、全てのスロットにスロット値が格納されたモジュールが複数存在する場合は、さらにユーザに発話の意図を問い合わせる内容の応答を生成してもよい。あるいは、学習部１３５は、発話が示すユーザの意図と関連する可能性が所定の閾値を超える候補が存在しない場合、もしくは、発話が示すユーザの意図と関連する可能性が所定の閾値を超える候補の数が所定の数を超える場合には、発話の意図をユーザに対して問い合わせる内容の応答を生成してもよい。
【００９９】
その後、学習部１３５は、送信した応答に関するフィードバックをユーザ端末１０から取得する。例えば、学習部１３５は、応答を受信したユーザが採った行動をフィードバックとして取得する。そして、学習部１３５は、自身が抽出したスロット値が正例であったか負例であったかを判定し、かかる結果に基づいてスロット抽出モデルの学習を行う。
【０１００】
〔４．クラウドサーバの構成例〕
次に、図８を用いて、実施形態に係るクラウドサーバ２００の構成について説明する。図８は、実施形態に係るクラウドサーバ２００の構成例を示す図である。図８に示すように、クラウドサーバ２００は、通信部２１０と、記憶部２２０と、制御部２３０とを有する。
【０１０１】
通信部２１０は、例えば、ＮＩＣ等によって実現される。そして、通信部２１０は、ネットワークＮと有線または無線で接続され、ユーザ端末１０や学習装置１００との間で情報の送受信を行う。
【０１０２】
記憶部２２０は、例えば、ＲＡＭ、フラッシュメモリ等の半導体メモリ素子、または、ハードディスク、光ディスク等の記憶装置によって実現される。そして、記憶部２２０は、機械学習に用いられる知識データベースを記憶する。具体的には、記憶部２２０は、地名辞書２２１や、料理名辞書２２２等を記憶する。なお、記憶部２２０に記憶される辞書は、図８に例示したものに限らず、種々の辞書であってもよい。また、クラウドサーバ２００は、所定の検索処理を行い、辞書データを適宜更新してもよい。例えば、クラウドサーバ２００は、ウェブコンテンツをクロールすることによって辞書に登録されていない単語を収集したり、クラウドサーバ２００の管理者等から入力される情報を受け付けたりすることにより、辞書データを更新する。
【０１０３】
制御部２３０は、コントローラであり、例えば、ＣＰＵやＭＰＵ等によって、クラウドサーバ２００内部の記憶装置に記憶されている各種プログラムがＲＡＭを作業領域として実行されることにより実現される。また、制御部２３０は、コントローラであり、例えば、ＡＳＩＣやＦＰＧＡ等の集積回路により実現される。
【０１０４】
図８に示すように、制御部２３０は、受信部２３１と、応答部２３２とを有し、以下に説明する情報処理の機能や作用を実現または実行する。なお、制御部２３０の内部構成は、図８に示した構成に限られず、後述する情報処理を行う構成であれば他の構成であってもよい。また、制御部２３０が有する各処理部の接続関係は、図８に示した接続関係に限られず、他の接続関係であってもよい。
【０１０５】
受信部２３１は、学習装置１００から送信されるクエリを受信する。例えば、受信部２３１は、属性情報が不明である文字列（語句）によって構成されるクエリを受信する。
【０１０６】
応答部２３２は、受信部２３１によって受信されたクエリによる問い合わせに応答する。例えば、応答部２３２は、記憶部２２０内の辞書データを参照して、クエリに関する情報を取得する。具体的には、応答部２３２は、文字列であるクエリが既知の語句である場合には、語句の品詞や、語句に対応付けられる属性情報等を取得する。そして、応答部２３２は、取得した情報を学習装置１００に応答する。なお、応答部２３２は、問い合わせられたクエリに対応する情報が辞書に存在しない場合には、所定の検索処理を行い、所定の外部サーバ等から情報を取得してもよい。また、応答部２３２は、問い合わせられたクエリに対応する情報が辞書に存在しない旨を学習装置１００に応答するようにしてもよい。
【０１０７】
〔５．処理手順〕
次に、図９を用いて、実施形態に係る学習装置１００による処理の手順について説明する。図９は、実施形態に係る処理手順を示すフローチャートである。
【０１０８】
図９に示すように、学習装置１００は、ユーザ端末１０から発話を受け付ける（ステップＳ１０１）。続けて、学習装置１００は、発話が属するドメインを判定する（ステップＳ１０２）。
【０１０９】
そして、学習装置１００は、発話を構成する各部分データに属性情報を対応付けることが可能か否かを判定する（ステップＳ１０３）。言い換えれば、学習装置１００は、発話において、属性情報が不明な部分データが存在するか否かを判定する。
【０１１０】
各部分データに属性情報を対応付けることができないと判定した場合（ステップＳ１０３；Ｎｏ）、学習装置１００は、属性情報が不明な部分データを特定する（ステップＳ１０４）。例えば、学習装置１００は、形態素解析された語句に対する属性情報の対応付けの結果として出力される候補のうち、所定数の上位の候補（ｎ−ｂｅｓｔ解）を参照し、結果が相違する箇所の部分データを特定する。
【０１１１】
そして、学習装置１００は、特定した部分データの属性情報を問い合わせるためのクエリを生成する（ステップＳ１０５）。そして、学習装置１００は、クラウドサーバ２００にクエリを送信することで、生成したクエリによる問い合わせを実行する（ステップＳ１０６）。
【０１１２】
その後、学習装置１００は、クラウドサーバ２００から問い合わせの応答を受信することにより、部分データの属性情報を取得する（ステップＳ１０７）。そして、学習装置１００は、取得した属性情報に基づいて、スロット値を抽出する（ステップＳ１０８）。なお、ステップＳ１０３において、発話の各部分データに属性情報を対応付けることが可能であった場合には（ステップＳ１０３；Ｙｅｓ）、学習装置１００は、ステップＳ１０４からステップＳ１０７の処理をスキップして、ステップＳ１０８に処理を進めてもよい。
【０１１３】
その後、学習装置１００は、スロット値の抽出結果に関する学習を行う（ステップＳ１０９）。例えば、学習装置１００は、ユーザからのフィードバックを受信し、受信した結果に基づいて、抽出した結果の正例又は負例を判定することにより、抽出処理の学習を行う。なお、学習装置１００は、必ずしもユーザからのフィードバックを用いて学習を行うのではなく、学習装置１００の管理者によって与えられる報酬や正解データに基づいて学習を行ってもよい。
【０１１４】
〔６．変形例〕
上述した学習装置１００は、上記実施形態以外にも種々の異なる形態にて実施されてよい。そこで、以下では、学習装置１００の他の実施形態について説明する。
【０１１５】
〔６−１．学習処理の例〕
上記実施形態では、学習装置１００が、対話におけるスロット抽出処理の学習を行う例を示した。ここで、学習装置１００が行う学習処理は、対話におけるスロット抽出処理に限られない。すなわち、学習装置１００は、所定のデータベース等から知識データを取得しながら学習を行う処理であれば、いずれの分野における学習を行ってもよい。
【０１１６】
例えば、学習装置１００は、ユーザの発話の分類処理に関する学習を行ってもよい。具体的には、学習装置１００は、ユーザの発話がポジティブなものであるか（例えば、ユーザが対象に対して高評価を抱いていることを示す発話）、ネガティブなものであるか（例えば、ユーザが対象に対して低評価を抱いていることを示す発話）であるかを分類する学習を行ってもよい。
【０１１７】
例えば、学習装置１００は、ユーザの発話が対象についてポジティブな意見を述べているか、もしくは、ネガティブな意見を述べているかの分類の学習を行う。以下では、ユーザがレビューサイト等に自身の意見を投稿する場合を例に挙げる。ユーザは、例えば、「赤坂のＸＸＸ飯店は麻婆豆腐がとてもおいしい」という発話をユーザ端末１０に入力する。ユーザ端末１０は、かかる発話を学習装置１００に送信する。
【０１１８】
学習装置１００は、受け付けた発話を解析する。このとき、学習装置１００は、解析した語句の属性情報として肯定表現や否定表現が含まれるか否かに基づいて、発話がポジティブなものであるか、あるいは、ネガティブなものであるかを分類する。
【０１１９】
かかる例において、学習装置１００は、肯定表現や否定表現を判定するための辞書（以下、「肯定否定表現辞書」と表記する）を有しておらず、個々の語句の属性情報である肯定表現や否定表現を判定できないものとする。このため、学習装置１００は、問い合わせのクエリを生成し、生成したクエリをクラウドサーバ２００に送信して、クエリに対応付けられる属性情報を取得する。
【０１２０】
例えば、学習装置１００は、ユーザの発話を形態素解析した結果及び品詞との関係性に基づいて、クラウドサーバ２００に問い合わせるためのクエリを生成してもよい。例えば、学習装置１００は、「赤坂」「の」「ＸＸＸ飯店」「は」「麻婆豆腐」「が」「とても」「おいしい」という形態素解析の候補や、「赤坂」「の」「ＸＸＸ」「飯店」「は」「麻婆豆腐」「が」「とてもおいしい」という形態素解析の候補を得る。このとき、学習装置１００は、「赤坂」や「麻婆豆腐」が名詞であり、「おいしい」が形容詞であるという情報は取得可能である。また、学習装置１００は、「の」や「は」や「が」が助詞であり、「とても」が副詞であるという情報は取得可能である。
【０１２１】
一方で、学習装置１００は、「ＸＸＸ飯店」や、「ＸＸＸ」や、「飯店」という文字例については、品詞が不明である（既知の語句ではない）と判定する可能性がある。この場合、学習装置１００は、「ＸＸＸ飯店」をクエリとして生成する。また、学習装置１００は、名詞よりも形容詞の方が肯定否定表現に該当する可能性が高いと判定する（かかる判定基準は、例えば、発話の属するモジュール等に予め設定される）。
【０１２２】
そして、学習装置１００は、肯定否定表現が含まれる可能性が高い「おいしい」や、そもそも品詞や属性が不明である「ＸＸＸ飯店」等をクエリとして生成する。そして、学習装置１００は、クラウドサーバ２００から属性情報を取得する。例えば、学習装置１００は、「おいしい」が肯定表現である一方で、「ＸＸＸ飯店」は肯定表現でも否定表現でもないという情報を取得する。
【０１２３】
そして、学習装置１００は、取得した情報に基づいて、ユーザの発話を分類する。上記の例では、学習装置１００は、「おいしい」という肯定表現が含まれていることから、ユーザの発話をポジティブな発話に分類する。このような処理により、学習装置１００は、ユーザの発話の全てをクラウドサーバ２００に問い合わせることなく、学習処理に必要と推定される箇所のみを問い合わせることができる。これにより、学習装置１００は、効率の良い学習を行うことができる。
【０１２４】
他の例として、学習装置１００は、文節の係り受けの分類の学習において、上記処理を適用してもよい。具体的には、学習装置１００は、ユーザの発話のうち、対象の語句がどの文節に係っているかという係り先を判定するためのモデルを学習する。この場合、学習装置１００は、例えば検索エンジンのインデックスを知識データベースとして判定を行う。検索エンジンのインデックスとは、例えば、検索エンジンのＡＰＩを利用し、入力したクエリが、ウェブ上においてどのくらいの検索結果数を得ることができるかといった数を記憶するデータベースである。
【０１２５】
ユーザは、例えば、「クロールで泳いでいる彼女を見た」という発話をユーザ端末１０に入力する。ユーザ端末１０は、かかる発話を学習装置１００に送信する。学習装置１００は、先頭の語句が、文におけるどの文節に係っているかを判定する処理を行う。この例では、ユーザの発話の先頭は「クロールで」であるため、学習装置１００は、「クロールで」の係り先を判定するものとする。
【０１２６】
ここで、学習装置１００は、「クロールで」以降の文字列の全てをクエリとするのではなく、係り先となる箇所を形態素解析等によって事前に判別する。なお、説明を簡単にするために、この例では、学習装置１００は、「クロールで」「泳いでいる」「彼女を」「見た」という形態素解析の結果を一つ取得したとする。この場合、学習装置１００は、「クロールで」の係り先を、「泳いでいる」、「彼女を」、「見た」という３つの候補に絞ることができる。そして、学習装置１００は、対象の語句と３つの候補とを組み合わせて、「クロールで泳いでいる」、「クロールで彼女を」、「クロールで見た」という３つのクエリを生成する。
【０１２７】
そして、学習装置１００は、生成した３つのクエリをクラウドサーバ２００に問い合わせる。クラウドサーバ２００は、検索エンジンのインデックスを参照して、それらのクエリが「より係り先として適切であるか」を示す属性情報を検索する。具体的には、クラウドサーバ２００は、検索エンジンに「クロールで泳いでいる」、「クロールで彼女を」、「クロールで見た」という３つのクエリを入力し、各々のウェブ検索結果の数を計数する。例えば、クラウドサーバ２００は、「クロールで泳いでいる」では１０万件、「クロールで彼女を」では５００件、「クロールで見た」では１０００件といった検索数を得る。
【０１２８】
そして、クラウドサーバ２００は、検索数を属性情報として、学習装置１００に応答する。学習装置１００は、クラウドサーバ２００から取得した属性情報に基づいて、「クロールで」の係り先としての適切性を判定する。この例では、学習装置１００は、最も検索数の多い「クロールで泳いでいた」が、「クロールで」の係り先として最も適切であると判定する。そして、学習装置１００は、かかる判定結果を学習し、種々の語句の係り先を判定するためのモデルを生成する。
【０１２９】
上記のように、学習装置１００は、語句の係り先を判定するための学習においても、事前に発話を解析し、所定数のクエリを生成してから知識データベースに問い合わせを行うことで、効率のよい学習を行うことができる。なお、上記の処理に関して、学習装置１００は、さらに問い合わせるクエリを絞り込む処理を行ってもよい。例えば、学習装置１００は、ローカル側において検索ＡＰＩを利用して解析を行った結果として、ｎ−ｂｅｓｔ解を得る。具体的には、学習装置１００は、上記３つのクエリのうち、最上位の候補として「泳いでいる」を選択し、「見た」を次点の候補として選択する。そして、学習装置１００は、選択した２つのクエリのみを知識データベースに問い合わせるようにしてもよい。このように、学習装置１００は、予め問い合わせのクエリを選択することで、問い合わせの発生回数を抑えることができるので、知識データベースとの通信のスループットが低い場合であっても、効率よく学習データを得ることができる。
【０１３０】
なお、学習装置１００は、文字列以外の学習処理にかかる処理を適用させてもよい。例えば、学習装置１００は、ユーザの状況に応じてユーザの本人性を判定するための本人認証モデル等の学習に上記処理を用いてもよい。具体的には、学習装置１００は、ローカル側でユーザの本人性が確認できなかった場合にのみ、所定のデータベースに問い合わせを発生させ、ユーザの本人性を確認するための情報との照合を行う、等の処理を行ってもよい。
【０１３１】
〔６−２．変換モデル〕
上述した実施形態では、学習装置１００が、ユーザの発話を文字列に変換して処理を行う例を示した。この場合、発話の変換に用いる変換モデルは、例えばドメインごとに、ある発話を入力した際に、その発話を行ったユーザの意図を出力するようにモデルの学習を行うことで実現可能であり、このような学習手法については、任意の学習技術が採用可能である。
【０１３２】
また、学習装置１００は、発話からユーザの意図を示す文字列へと変換することができるのであれば、任意の変換モデルを用いて発話の変換を行ってよい。例えば、学習装置１００は、ｗｏｒｄ２ｖｅｃ等、単語を単語の相対的な意味に基づくベクトル表現へと変換する技術を用いて、発話の文字列を発話の意味を示すベクトル表現に変換し、変換したベクトル表現を、ユーザの意図を示す単語のベクトル表現へと変換する変換モデルを用いて、発話の変換を行ってもよい。
【０１３３】
また、学習装置１００は、ユーザの属性を考慮した学習が行われた変換モデルを用いてもよい。例えば、学習装置１００は、ある発言とその発言を行ったユーザの属性とを入力した際に、そのユーザの意図を示す文字列へと変換するように学習が行われた変換モデルを保持してもよい。例えば、学習装置１００は、ある発言を、その発言をある属性を有するユーザが発言した際のそのユーザの意図を示す文字列へと変換するように学習が行われた変換モデルを、属性ごとに保持してもよい。そして、学習装置１００は、ユーザの属性に応じて、使用する変換モデルを選択し、選択した変換モデルを用いて、発言の変換を行ってもよい。また、学習装置１００は、ドメインとユーザの属性との組合せごとに、異なる変換モデルを用いてもよく、各ユーザ専用の変換モデルを用いてもよい。
【０１３４】
〔６−３．対話処理の構成〕
上述した学習装置１００は、いわゆるスロットフィリングの結果を用いて応答を生成した。しかしながら、実施形態は、これに限定されるものではない。例えば、学習装置１００は、ユーザの発話の意図を特定し、特定した意図からユーザとの対話の状況を判定し、判定した状況に応じた応答を生成するといった処理により、ユーザとの応答を生成するといった対話処理を実行する場合がある。このような対話処理において、学習装置１００は、ユーザの発話の意図を特定する際に、上述したスロットフィリングの技術を適用し、スロットフィリングの結果に応じて、ユーザとの対話の状況を判定し、判定した状況に応じた応答を生成してもよい。すなわち、学習装置１００は、ユーザの発話からユーザの意図を反映させたスロット値を得るのであれば、他の任意の処理と組み合わせて、発話に対する応答を生成してよい。
【０１３５】
〔６−４．知識データベース〕
上述した実施形態では、学習装置１００が、ネットワークを介して接続されるクラウドサーバ２００を知識データベースとして利用する例を示した。しかし、知識データベースは、必ずしもクラウドのように広域ネットワークを前提とするものでなくてもよい。例えば、学習装置１００は、自社のデータベースや自装置内のデータベース等、ローカルネットワークや自装置におけるデータベースを知識データベースとして利用してもよい。すなわち、学習装置１００は、学習処理において、知識データベースへの問い合わせがボトルネックとなることを防止するために、ローカルネットワークや自装置におけるデータベースを利用した学習処理においても、上記実施形態に係る学習処理を実行してもよい。
【０１３６】
〔６−５．抽出処理〕
上述した実施形態では、学習装置１００が、発話からスロット値を抽出するための学習を行う例を示した。しかし、学習装置１００は、上述した処理を用いて、発話からスロット値を抽出せずに発話の応答を生成する処理に関する学習を行ってもよい。例えば、学習装置１００は、任意の発言の内容に基づいて、スロット値の候補からスロット値を選択してよい。例えば、学習装置１００は、「腰が痛い」といった発話を受け付けた場合は、検索する施設の候補の中から「整体病院」等といったスロット値、すなわち、発話の内容と連想関係を有するスロット値を選択し、選択したスロット値「整体病院」を用いて、ユーザＵ１の近傍にある整体病院の情報を応答として提供してもよい。なお、このようなスロット値の選択は、連想関係を学習させたモデルにより実現可能である。
【０１３７】
また、学習装置１００は、発話からスロット値を抽出可能であるか否かを判定する処理と、発話からスロット値を抽出可能である場合に、発話からスロット値を抽出する処理と、発話からスロット値を抽出できない場合に、スロット値の候補の中からスロット値を選択する処理とを実行するように、ＤＮＮ等のモデルの学習を行い、学習したモデルを用いて、上述した処理を実行してもよい。また、学習装置１００は、モデルがスロット値を抽出できなかった場合には、所定の応答をユーザＵ１に送信し、新たな発話をユーザＵ１から受け付ける処理を行ってもよい。
【０１３８】
〔６−６．クエリ生成の応用〕
上述した実施形態では、学習装置１００が、部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成し、生成されたクエリによる問い合わせにより取得された特徴情報に基づいて学習を行う例を示した。
【０１３９】
ここで、実施形態に係るクエリ生成処理及び取得処理は、学習処理のみならず、ユーザへの発話の応答など、モデルを利用する処理に応用されてもよい。モデルを利用する処理は、例えば、実施形態に係るクエリ生成部１３３及び取得部１３４を少なくとも有する情報処理装置によって行われる。なお、情報処理装置と学習装置１００とは説明のために区別しているのみであり、以下で説明する情報処理装置の処理は、学習装置１００によって行われてもよい。
【０１４０】
情報処理装置は、情報処理に用いられる第１データから、第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。そして、情報処理装置は、生成されたクエリを所定のデータベースに問い合わせることで、部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた第１データを所定のモデルに入力することで所定の結果情報を取得する。
【０１４１】
すなわち、実施形態に係る処理は、必ずしも学習処理に利用するのみならず、発話の応答の生成等、学習されたモデルを利用する処理に応用されてもよい。例えば、情報処理装置は、受け付けた発話の全てを知識データベースに問い合わせず、任意の部分データからクエリを生成したうえで、生成したクエリを知識データベースに問い合わせる。具体的には、情報処理装置は、受け付けた発話の全ての語句を問い合わせることなく、属性情報が不明な語句や、対応付けられる属性情報の候補が複数存在する語句のみを問い合わせる。そして、情報処理装置は、問い合わせによって取得された属性情報が対応付けられた第１データをモデルに入力して、所定の出力（結果情報）を取得する。例えば、情報処理装置は、属性情報の対応付けが完了した発話を所定の応答生成モデルに入力して、対話におけるユーザへの応答を取得する。
【０１４２】
一般に、対話システム等においては、学習のみならず、応答の生成処理においても、高精度な処理を行うために辞書データのような知識データベースを利用することを要する。そして、実施形態に係る処理は、部分データからクエリを生成して知識データベースへの問い合わせの発生を抑制する処理であることから、学習処理に限らず、応答の生成等の様々な情報処理に応用することが可能である。
【０１４３】
〔７．ハードウェア構成〕
上述してきた実施形態に係る学習装置１００や情報処理装置やユーザ端末１０やクラウドサーバ２００は、例えば図１０に示すような構成のコンピュータ１０００によって実現される。以下、学習装置１００を例に挙げて説明する。図１０は、学習装置１００の機能を実現するコンピュータ１０００の一例を示すハードウェア構成図である。コンピュータ１０００は、ＣＰＵ１１００、ＲＡＭ１２００、ＲＯＭ１３００、ＨＤＤ１４００、通信インターフェイス（Ｉ／Ｆ）１５００、入出力インターフェイス（Ｉ／Ｆ）１６００、及びメディアインターフェイス（Ｉ／Ｆ）１７００を有する。
【０１４４】
ＣＰＵ１１００は、ＲＯＭ１３００又はＨＤＤ１４００に記憶されたプログラムに基づいて動作し、各部の制御を行う。ＲＯＭ１３００は、コンピュータ１０００の起動時にＣＰＵ１１００によって実行されるブートプログラムや、コンピュータ１０００のハードウェアに依存するプログラム等を記憶する。
【０１４５】
ＨＤＤ１４００は、ＣＰＵ１１００によって実行されるプログラム、及び、かかるプログラムによって使用されるデータ等を記憶する。通信インターフェイス１５００は、通信網５００（図３に示したネットワークＮに対応）を介して他の機器からデータを受信してＣＰＵ１１００へ送り、ＣＰＵ１１００が生成したデータを、通信網５００を介して他の機器へ送信する。
【０１４６】
ＣＰＵ１１００は、入出力インターフェイス１６００を介して、ディスプレイやプリンタ等の出力装置、及び、キーボードやマウス等の入力装置を制御する。ＣＰＵ１１００は、入出力インターフェイス１６００を介して、入力装置からデータを取得する。また、ＣＰＵ１１００は、入出力インターフェイス１６００を介して生成したデータを出力装置へ出力する。
【０１４７】
メディアインターフェイス１７００は、記録媒体１８００に記憶されたプログラム又はデータを読み取り、ＲＡＭ１２００を介してＣＰＵ１１００に提供する。ＣＰＵ１１００は、かかるプログラムを、メディアインターフェイス１７００を介して記録媒体１８００からＲＡＭ１２００上にロードし、ロードしたプログラムを実行する。記録媒体１８００は、例えばＤＶＤ（Digital  Versatile  Disc）、ＰＤ（Phase  change  rewritable  Disk）等の光学記録媒体、ＭＯ（Magneto-Optical  disk）等の光磁気記録媒体、テープ媒体、磁気記録媒体、または半導体メモリ等である。
【０１４８】
例えば、コンピュータ１０００が実施形態に係る学習装置１００として機能する場合、コンピュータ１０００のＣＰＵ１１００は、ＲＡＭ１２００上にロードされたプログラムを実行することにより、制御部１３０の機能を実現する。また、ＨＤＤ１４００には、記憶部１２０内のデータが記憶される。コンピュータ１０００のＣＰＵ１１００は、これらのプログラムを記録媒体１８００から読み取って実行するが、他の例として、他の装置から通信網５００を介してこれらのプログラムを取得してもよい。
【０１４９】
〔８．その他〕
また、上記実施形態において説明した各処理のうち、自動的に行われるものとして説明した処理の全部または一部を手動的に行うこともでき、あるいは、手動的に行われるものとして説明した処理の全部または一部を公知の方法で自動的に行うこともできる。この他、上記文書中や図面中で示した処理手順、具体的名称、各種のデータやパラメータを含む情報については、特記する場合を除いて任意に変更することができる。例えば、各図に示した各種情報は、図示した情報に限られない。
【０１５０】
また、図示した各装置の各構成要素は機能概念的なものであり、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各装置の分散・統合の具体的形態は図示のものに限られず、その全部または一部を、各種の負荷や使用状況などに応じて、任意の単位で機能的または物理的に分散・統合して構成することができる。例えば、図３に示した受付部１３１とドメイン判定部１３２とは統合されてもよい。また、例えば、記憶部１２０に記憶される情報は、ネットワークＮを介して、外部に備えられた所定の記憶装置に記憶されてもよい。
【０１５１】
また、上記実施形態では、学習装置１００が、例えば、クエリを生成する生成処理や、属性情報を取得する取得処理や、スロット抽出を学習する学習処理等を行う例を示した。しかし、上述した学習装置１００は、学習装置１００は、発話を分類する分類サーバ、発話を文字列へと変換する変換サーバ、発話からスロット値を抽出できるか否かを判定する判定サーバ、発話からクエリを生成する生成サーバ、発話からスロット値を抽出する抽出サーバ等が連携して動作することにより、実現されてもよい。この場合、上記の学習装置１００による処理は、各サーバを含む学習処理システム１によって実現される。
【０１５２】
また、上述してきた実施形態及び変形例は、処理内容を矛盾させない範囲で適宜組み合わせることが可能である。
【０１５３】
〔９．効果〕
上述してきたように、実施形態に係る学習装置１００は、クエリ生成部１３３（生成部の一例）と、取得部１３４と、学習部１３５とを有する。クエリ生成部１３３は、学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。取得部１３４は、クエリ生成部１３３によって生成されたクエリを所定のデータベースに問い合わせることで、部分データに対応付けられる特徴情報を取得する。学習部１３５は、取得部１３４によって取得された特徴情報に基づいて、第１データを学習データとして所定のモデルを生成するための学習を行う。
【０１５４】
このように、実施形態に係る学習装置１００は、第１データの部分データからクエリを生成し、生成したクエリによる問い合わせを発生させる。これにより、学習装置１００は、例えばネットワークを介して知識データベースの情報を得るような機械学習において、通信のスループットが比較的低い環境下であっても、効率的に学習を行うことができる。
【０１５５】
また、クエリ生成部１３３は、所定のデータベースに依らずに第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、クエリを生成する。
【０１５６】
このように、実施形態に係る学習装置１００は、いわゆるローカル側の処理において、第１データに対応付け（ラベル付け）が可能か否かを判定した結果に基づいて、クエリを生成する。このため、学習装置１００は、第１データの全てを問い合わせるのではなく、例えば特徴情報が自明でない部分データのみを問い合わせることができるので、学習処理の効率を向上させることができる。
【０１５７】
また、クエリ生成部１３３は、第１データを構成する部分データに対応付けられる特徴情報の候補が複数存在する場合に、当該部分データに基づいてクエリを生成する。
【０１５８】
このように、実施形態に係る学習装置１００は、複数の候補が存在する部分データに基づいてクエリを生成する。これにより、学習装置１００は、学習に利用する優先度の高い部分や、ローカル側で不明な部分などを選択して、クエリを生成することができる。このため、学習装置１００は、知識データベースに問い合わせる通信量を抑えることができるので、効率的に学習を行うことができる。
【０１５９】
また、学習部１３５は、過去の問い合わせによって特徴情報が所定の記憶部（例えば、記憶部１２０）に保持されている場合には、当該所定の記憶部に保持されている特徴情報に関して所定のデータベースへの新たな問い合わせを発生させることなく学習を行う。
【０１６０】
このように、実施形態に係る学習装置１００は、過去に問い合わせを行った場合には、ローカル側で保持されている情報（キャッシュ）を利用して学習を行ってもよい。これにより、学習装置１００は、問い合わせの発生頻度を抑えることができるので、学習を迅速に行うことができる。
【０１６１】
また、クエリ生成部１３３は、所定のデータベースとの間の通信に関する情報に基づいて、クエリを生成する量を調整する。
【０１６２】
このように、実施形態に係る学習装置１００は、通信環境等に応じて生成するクエリを調整してもよい。これにより、学習装置１００は、通信環境に合わせて知識データベースへの問い合わせの通信量等を調整することができるので、学習処理の効率を最適化することができる。
【０１６３】
また、クエリ生成部１３３は、文字列である第１データから語句を抽出し、抽出された語句に基づいてクエリを生成する。取得部１３４は、クエリ生成部１３３によって生成されたクエリに対応付けられる属性情報を取得する。学習部１３５は、取得部１３４によって取得された属性情報に基づいて学習を行う。
【０１６４】
このように、実施形態に係る学習装置１００は、文字列を第１データとした学習を行う。これにより、学習装置１００は、ユーザの発話に対する応答の生成等の分野における学習を効率良く進めることができる。
【０１６５】
また、クエリ生成部１３３は、第１データが含む所定の部分データにおいて、語句として抽出される候補が複数存在する場合には、形態素解析における尤度の高い順に所定数の候補を抽出してクエリを生成する。
【０１６６】
このように、実施形態に係る学習装置１００は、形態素解析において複数の候補が生じるような場合に、その部分を抽出してクエリを生成する。これにより、学習装置１００は、ローカル側で属性情報を決定しきれない箇所等を選択的に問い合わせることができるため、学習処理の効率を向上させることができる。
【０１６７】
また、クエリ生成部１３３は、文字列である第１データから無作為に語句を抽出し、抽出された語句に基づいてクエリを生成する。
【０１６８】
このように、実施形態に係る学習装置１００は、ランダムに抽出した語句をクエリとして生成してもよい。これにより、学習装置１００は、学習に用いる全データを順に問い合わせるような処理を発生させないため、通信に係る負荷を抑制した学習を行うことができる。
【０１６９】
また、実施形態に係る情報処理装置は、クエリ生成部１３３（生成部の一例）と、取得部１３４とを有する。クエリ生成部１３３は、情報処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する。取得部１３４は、クエリ生成部１３３によって生成されたクエリを所定のデータベースに問い合わせることで、部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた第１データを所定のモデルに入力することで所定の結果情報を取得する。
【０１７０】
このように、実施形態に係る情報処理装置は、第１データの部分データからクエリを生成し、生成したクエリによる問い合わせを発生させる。これにより、情報処理装置は、例えばネットワークを介して知識データベースの情報を得ることを経て行われる情報処理において、通信のスループットが比較的低い環境下であっても、効率的にモデルからの出力を得ることができる。
【０１７１】
以上、本願の実施形態のいくつかを図面に基づいて詳細に説明したが、これらは例示であり、発明の開示の欄に記載の態様を始めとして、当業者の知識に基づいて種々の変形、改良を施した他の形態で本発明を実施することが可能である。
【０１７２】
また、上記してきた「部（section、module、unit）」は、「手段」や「回路」などに読み替えることができる。例えば、推定部は、推定手段や推定回路に読み替えることができる。
【符号の説明】
【０１７３】
１  学習処理システム
１０  ユーザ端末
１００  学習装置
１１０  通信部
１２０  記憶部
１２１  モジュールデータベース
１２２  ローカル辞書データベース
１２３  モデルデータベース
１２４  キャッシュデータベース
１３０  制御部
１３１  受付部
１３２  ドメイン判定部
１３３  クエリ生成部
１３４  取得部
１３５  学習部
２００  クラウドサーバ
【図１】
2019016269.tif 000003
【図２】
2019016269.tif 000004
【図３】
2019016269.tif 000005
【図４】
2019016269.tif 000006
【図５】
2019016269.tif 000007
【図６】
2019016269.tif 000008
【図７】
2019016269.tif 000009
【図８】
2019016269.tif 000010
【図９】
2019016269.tif 000011
【図１０】
2019016269.tif 000012
【手続補正書】
【提出日】平成30年5月24日(2018.5.24)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得部と、
前記取得部によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習部と、
を備え、
前記生成部は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習装置。
【請求項２】
前記生成部は、
前記第１データを構成する部分データに対応付けられる特徴情報の候補が複数存在する場合に、当該部分データに基づいて前記クエリを生成する、
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、
過去の問い合わせによって特徴情報が所定の記憶部に保持されている場合には、当該所定の記憶部に保持されている特徴情報に関して前記所定のデータベースへの新たな問い合わせを発生させることなく学習を行う、
ことを特徴とする請求項１又は２に記載の学習装置。
【請求項４】
前記生成部は、
前記所定のデータベースとの間の通信に関する情報に基づいて、前記クエリを生成する量を調整する、
ことを特徴とする請求項１〜３のいずれか一つに記載の学習装置。
【請求項５】
前記生成部は、
文字列である第１データから語句を抽出し、抽出された語句に基づいて前記クエリを生成し、
前記取得部は、
前記生成部によって生成されたクエリに対応付けられる属性情報を取得し、
前記学習部は、
前記取得部によって取得された属性情報に基づいて学習を行う、
ことを特徴とする請求項１〜４のいずれか一つに記載の学習装置。
【請求項６】
前記生成部は、
前記第１データが含む所定の部分データにおいて、語句として抽出される候補が複数存在する場合には、形態素解析における尤度の高い順に所定数の候補を抽出して前記クエリを生成する、
ことを特徴とする請求項５に記載の学習装置。
【請求項７】
前記生成部は、
文字列である第１データから無作為に語句を抽出し、抽出された語句に基づいて前記クエリを生成する、
ことを特徴とする請求項５又は６に記載の学習装置。
【請求項８】
情報処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた前記第１データを所定のモデルに入力することで所定の結果情報を取得する取得部と、
を備え、
前記生成部は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする情報処理装置。
【請求項９】
コンピュータが実行する学習方法であって、
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成工程と、
前記生成工程によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得工程と、
前記取得工程によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習工程と、
を含み、
前記生成工程は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習方法。
【請求項１０】
学習処理に用いられる第１データから、当該第１データの一手順を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成手順と、
前記生成手順によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得手順と、
前記取得手順によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習手順と、
をコンピュータに実行させ、
前記生成手順は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習プログラム。
【請求項１１】
学習処理に用いられる第１データの一部を構成する部分データのうち、対応付けられる特徴情報が不明な部分データのみを選択し、選択した部分データから、特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得部と、
前記取得部によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習部と、
を備えることを特徴とする学習装置。
【請求項１２】
情報処理に用いられる第１データの一部を構成する部分データのうち、対応付けられる特徴情報が不明な部分データのみを選択し、選択した部分データから、特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた前記第１データを所定のモデルに入力することで所定の結果情報を取得する取得部と、
を備えたことを特徴とする情報処理装置。
【請求項１３】
コンピュータが実行する学習方法であって、
学習処理に用いられる第１データの一部を構成する部分データのうち、対応付けられる特徴情報が不明な部分データのみを選択し、選択した部分データから、特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成工程と、
前記生成工程によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得工程と、
前記取得工程によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習工程と、
を含んだことを特徴とする学習方法。
【請求項１４】
学習処理に用いられる第１データの一部を構成する部分データのうち、対応付けられる特徴情報が不明な部分データのみを選択し、選択した部分データから、特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成手順と、
前記生成手順によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得手順と、
前記取得手順によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習手順と、
をコンピュータに実行させることを特徴とする学習プログラム。
【手続補正書】
【提出日】平成30年10月2日(2018.10.2)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得部と、
前記取得部によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習部と、
を備え、
前記生成部は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習装置。
【請求項２】
前記生成部は、
前記第１データを構成する部分データに対応付けられる特徴情報の候補が複数存在する場合に、当該部分データに基づいて前記クエリを生成する、
ことを特徴とする請求項１に記載の学習装置。
【請求項３】
前記学習部は、
過去の問い合わせによって特徴情報が所定の記憶部に保持されている場合には、当該所定の記憶部に保持されている特徴情報に関して前記所定のデータベースへの新たな問い合わせを発生させることなく学習を行う、
ことを特徴とする請求項１又は２に記載の学習装置。
【請求項４】
前記生成部は、
前記所定のデータベースとの間の通信に関する情報に基づいて、前記クエリを生成する量を調整する、
ことを特徴とする請求項１〜３のいずれか一つに記載の学習装置。
【請求項５】
前記生成部は、
文字列である第１データから語句を抽出し、抽出された語句に基づいて前記クエリを生成し、
前記取得部は、
前記生成部によって生成されたクエリに対応付けられる属性情報を取得し、
前記学習部は、
前記取得部によって取得された属性情報に基づいて学習を行う、
ことを特徴とする請求項１〜４のいずれか一つに記載の学習装置。
【請求項６】
前記生成部は、
前記第１データが含む所定の部分データにおいて、語句として抽出される候補が複数存在する場合には、形態素解析における尤度の高い順に所定数の候補を抽出して前記クエリを生成する、
ことを特徴とする請求項５に記載の学習装置。
【請求項７】
前記生成部は、
文字列である第１データから無作為に語句を抽出し、抽出された語句に基づいて前記クエリを生成する、
ことを特徴とする請求項５又は６に記載の学習装置。
【請求項８】
情報処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成部と、
前記生成部によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得するとともに、取得した特徴情報が対応付けられた前記第１データを所定のモデルに入力することで所定の結果情報を取得する取得部と、
を備え、
前記生成部は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする情報処理装置。
【請求項９】
コンピュータが実行する学習方法であって、
学習処理に用いられる第１データから、当該第１データの一部を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成工程と、
前記生成工程によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得工程と、
前記取得工程によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習工程と、
を含み、
前記生成工程は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習方法。
【請求項１０】
学習処理に用いられる第１データから、当該第１データの一手順を構成する部分データに対応付けられる特徴情報を所定のデータベースに問い合わせるためのクエリを生成する生成手順と、
前記生成手順によって生成されたクエリを前記所定のデータベースに問い合わせることで、前記部分データに対応付けられる特徴情報を取得する取得手順と、
前記取得手順によって取得された特徴情報に基づいて、前記第１データを学習データとして所定のモデルを生成するための学習を行う学習手順と、
をコンピュータに実行させ、
前記生成手順は、
前記所定のデータベースに依らずに前記第１データを構成する各部分データの特徴情報を対応付けることが可能か否かを判定した結果に基づいて、前記クエリを生成する、
ことを特徴とする学習プログラム。