(57)【特許請求の範囲】
【請求項１】
文書又は会話文からテキストデータを取得するテキストデータ取得手段と、
上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、
上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段と、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、
上記エンティティ候補探索手段は、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索すること
を特徴とするエンティティとインテントの自動生成装置。
【請求項２】
文書又は会話文からテキストデータを取得するテキストデータ取得手段と、
上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、
上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段と、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、
上記インテント登録手段は、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作と関連するアクション決定情報を探索すること
を特徴とするエンティティとインテントの自動生成装置。
【請求項３】
上記インテント登録手段は、単語及び指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、少なくとも上記抽出手段により抽出された単語及び指示動作と関連するアクション決定情報を探索すること
を特徴とする請求項１又は２記載のエンティティとインテントの自動生成装置。
【請求項４】
上記テキストデータ取得手段により取得されたテキストデータを、上記エンティティ登録手段により登録されたエンティティ及び上記インテント登録手段により登録されたインテントからなるコーパス決定情報と対応させて格納するコーパス知識データベースと、
上記コーパス知識データベースに格納されたテキストデータをそのままコーパスとして登録するコーパス登録手段とを備えること
を特徴とする請求項１〜３のうち何れか１項記載のエンティティとインテントの自動生成装置。
【請求項５】
上記コーパス知識データベースは、上記コーパス決定情報としてのエンティティ及びインテントに基づいて、上記格納したテキストデータと同義となる他のテキストデータを生成し、これを当該コーパス決定情報と対応させて格納すること
を特徴とする請求項４記載のエンティティとインテントの自動生成装置。
【請求項６】
上記コーパス知識データベースは、上記テキストデータ取得手段により取得した新たなテキストデータから上記エンティティ登録手段により登録されたエンティティ及び上記インテント登録手段により登録されたインテントが、既に格納した上記コーパス決定情報と適合する場合には、当該コーパス決定情報と対応させて上記新たなテキストデータを格納すること
を特徴とする請求項４又は５記載のエンティティとインテントの自動生成装置。
【請求項７】
文書又は会話文からテキストデータを取得するテキストデータ取得手段と、
上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、
上記インテント登録手段は、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作と関連するアクション決定情報を探索すること
を特徴とするインテント自動生成装置。
【請求項８】
文書又は会話文からテキストデータを取得するテキストデータ取得手段と、
上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、
上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段とを備え、
上記エンティティ候補探索手段は、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索すること
を特徴とするエンティティ自動生成装置。
【請求項９】
文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、
上記テキストデータ取得ステップにより取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、
上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップと、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、
上記エンティティ候補探索ステップでは、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索することをコンピュータに実行させること
を特徴とするエンティティとインテントの自動生成プログラム。
【請求項１０】
文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、
上記テキストデータ取得ステップにより取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、
上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップと、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、
上記インテント登録ステップでは、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作と関連するアクション決定情報を探索することをコンピュータに実行させること
を特徴とするエンティティとインテントの自動生成プログラム。
【請求項１１】
文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、
上記テキストデータ取得ステップにおいて取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、
上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、
上記インテント登録ステップでは、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作と関連するアクション決定情報を探索することをコンピュータに実行させること
を特徴とするインテント自動生成プログラム。
【請求項１２】
文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、
上記テキストデータ取得ステップにおいて取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、
単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、
上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップとを有し、
上記エンティティ候補探索ステップでは、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにより抽出された単語と関連するエンティティ決定情報を探索することをコンピュータに実行させること
を特徴とするエンティティ自動生成プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、文書又は会話文から取得したテキストデータに含まれる各単語からエンティティとインテントを自動的に登録するエンティティとインテントの自動生成装置及びプログラムに関するものである。
【背景技術】
【０００２】
近年において、同じ検索結果を求める会話文が動的に変化した場合であっても、適切な検索結果を出力する技術が提案されている（例えば、特許文献１参照。）。この特許文献１の開示技術では、受け付けた１以上の会話文に含まれるエンティティをパラメータ化し、或いは会話文に対応する、処理動作を特定するアクション名およびウェブフックを有するインテントを決定し、更にこれらエンティティやインテント等により特定される処理動作を実行するための情報をパラメータとしたＡＰＩを介してデータベースを検索する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０２１−６８３９９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このような特許文献１の開示技術を実施する上で、会話文に含まれるエンティティやインテントをパラメータ化する上では、パラメータ化する上で必要なエンティティやインテント等を予め登録しておく必要がある。逆に言えば、予め登録されていないエンティティやインテントはパラメータ化することができず、既に登録されているエンティティやインテントのみしか言葉として認識することができず、パラメータ化することができない。
【０００５】
このため、会話文に含まれるあらゆる言葉についてエンティティやインテントをパラメータ化するためには、あらゆる言葉についてエンティティやインテントを予め登録する必要があり、煩雑な作業が必要となり、作業時間も膨大となる。
【０００６】
そこで、本発明は、上述した問題点に鑑みて案出されたものであり、その目的とするところは、会話文に含まれる単語や指示動作につき、未だエンティティやインテント、ひいてはコーパスとして登録されていないものについて、自動的に登録を行うことが可能なエンティティとインテントの自動生成装置及びプログラム、インテント自動生成装置、エンティティ自動生成装置、コーパス自動生成装置を提供することにある。
【課題を解決するための手段】
【０００７】
第１発明に係るエンティティとインテントの自動生成装置は、文書又は会話文からテキストデータを取得するテキストデータ取得手段と、上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段と、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、上記エンティティ候補探索手段は、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索することを特徴とする。
【０００８】
第２発明に係るエンティティとインテントの自動生成装置は、文書又は会話文からテキストデータを取得するテキストデータ取得手段と、上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段と、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、上記インテント登録手段は、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作と関連するアクション決定情報を探索することを特徴とする。
【０００９】
第３発明に係るエンティティとインテントの自動生成装置は、第１発明又は第２発明において、上記インテント登録手段は、単語及び指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、少なくとも上記抽出手段により抽出された単語及び指示動作と関連するアクション決定情報を探索することを特徴とする。
【００１０】
第４発明に係るエンティティとインテントの自動生成装置は、第１発明〜第３発明において、上記テキストデータ取得手段により取得されたテキストデータを、上記エンティティ登録手段により登録されたエンティティ及び上記インテント登録手段により登録されたインテントからなるコーパス決定情報と対応させて格納するコーパス知識データベースと、上記コーパス知識データベースに格納されたテキストデータをそのままコーパスとして登録するコーパス登録手段とを備えることを特徴とする。
【００１１】
第５発明に係るエンティティとインテントの自動生成装置は、第４発明において、上記コーパス知識データベースは、上記コーパス決定情報としてのエンティティ及びインテントに基づいて、上記格納したテキストデータと同義となる他のテキストデータを生成し、これを当該コーパス決定情報と対応させて格納することを特徴とする。
【００１２】
第６発明に係るエンティティとインテントの自動生成装置は、第４発明又は第５発明において、上記コーパス知識データベースは、上記テキストデータ取得手段により取得した新たなテキストデータから上記エンティティ登録手段により登録されたエンティティ及び上記インテント登録手段により登録されたインテントが、既に格納した上記コーパス決定情報と適合する場合には、当該コーパス決定情報と対応させて上記新たなテキストデータを格納することを特徴とする。
【００１３】
第７発明に係るインテント自動生成装置は、文書又は会話文からテキストデータを取得するテキストデータ取得手段と、上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作に対応したアクション決定情報を登録するインテント登録手段とを備え、上記インテント登録手段は、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出手段により抽出された指示動作と関連するアクション決定情報を探索することを特徴とする。
【００１４】
第８発明に係るエンティティ自動生成装置は、文書又は会話文からテキストデータを取得するテキストデータ取得手段と、上記テキストデータ取得手段により取得されたテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出手段と、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索手段と、上記エンティティ候補探索手段により抽出されたエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録手段とを備え、上記エンティティ候補探索手段は、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出手段により抽出された単語と関連するエンティティ決定情報を探索することを特徴とする。
【００１５】
第９発明に係るエンティティとインテントの自動生成プログラムは、文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、上記テキストデータ取得ステップにより取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップと、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、上記エンティティ候補探索ステップでは、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索することをコンピュータに実行させることを特徴とする。
【００１６】
第１０発明に係るエンティティとインテントの自動生成プログラムは、文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、上記テキストデータ取得ステップにより取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップと、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、上記インテント登録ステップでは、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作と関連するアクション決定情報を探索することをコンピュータに実行させることを特徴とする。
【００１７】
第１１発明に係るインテント自動生成プログラムは、文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、上記テキストデータ取得ステップにおいて取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、上記テキストデータをインテントとして登録するとともに、少なくとも指示動作とアクション決定情報とが互いに関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作に対応したアクション決定情報を登録するインテント登録ステップとを有し、上記インテント登録ステップでは、指示動作とアクション決定情報とが３段階以上の連関度を以って関連付けられたインテント知識データベースを参照し、上記抽出ステップにおいて抽出した指示動作と関連するアクション決定情報を探索することをコンピュータに実行させることを特徴とする。
【００１８】
第１２発明に係るエンティティ自動生成プログラムは、文書又は会話文からテキストデータを取得するテキストデータ取得ステップと、上記テキストデータ取得ステップにおいて取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出する抽出ステップと、単語とエンティティ決定情報とが互いに関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにおいて抽出した単語と関連するエンティティ決定情報を探索して抽出するエンティティ候補探索ステップと、上記エンティティ候補探索ステップにおいて抽出したエンティティ決定情報を上記単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録するエンティティ登録ステップとを有し、上記エンティティ候補探索ステップでは、単語とエンティティ決定情報とが３段階以上の連関度を以って関連付けられたエンティティ知識データベースを参照し、上記抽出ステップにより抽出された単語と関連するエンティティ決定情報を探索することをコンピュータに実行させることを特徴とする。
【発明の効果】
【００２０】
上述した構成からなる本発明によれば、テキストデータを取得した際に、これに対応するエンティティやインテント等が予め登録されていない場合には、より最適なエンティティやインテントを人手を介することなく自動的に探索して割り当てることができる。このため、エンティティやインテントを登録するために必要な作業の負担の軽減を図ることができ、作業時間を大幅に減らすことが可能となる。
【００２１】
また、本発明によれば、データベース内にあるデータ、メール文章、ドキュメントファイル等があればこれに順次アクセスすることにより、テキストデータを連続して抽出することができ、この抽出したテキストデータに対して最適なエンティティやインテントを自動的に探索して割り当てることができる。このため、自然にエンティティやインテント等が蓄積されてくることとなる。その結果、データベース内にあるデータ、メール文章、ドキュメントファイル等にアクセスするのみで、エンティティやインテント等を膨大な量にわたり蓄積することが可能となる。
【図面の簡単な説明】
【００２２】
【図１】図１は、本発明を適用したエンティティ自動生成装置のブロック構成図である。
【図２】図２は、エンティティ知識データベースの例を示す図である。
【図３】図３は、インテント知識データベースの例を示す図である。
【図４】図４は、コーパス知識データベースの例を示す図である。
【図５】図５は、本発明を適用したエンティティ自動生成装置の処理動作を示すフローチャートである。
【図６】図６は、エンティティ、インテント、コーパスを登録する例を示す図である。
【図７】図７は、単語に対する実際のエンティティ決定情報が３段階以上の連関度を以って関連付けられた学習済モデルを利用して解探索を行う例を示す図である。
【図８】図８は、図７における解探索をニューラルネットワークを利用して行う例を示す図である。
【図９】図９は、指示動作に対する実際のアクション決定情報が３段階以上の連関度を以って関連付けられた学習済モデルを利用して解探索を行う例を示す図である。
【図１０】図１０は、図９における解探索をニューラルネットワークを利用して行う例を示す図である。
【発明を実施するための形態】
【００２３】
以下、本発明の実施形態におけるエンティティ自動生成装置の一例について、図面を参照して説明する。なお、実施の形態において同じ符号を付した構成要素は同様の動作を行うので、再度の説明を省略する場合がある。
【００２４】
実施形態におけるエンティティ自動生成装置は、例えば、サーバである。サーバは、例えば、情報検索等のサービスを提供する企業内のサーバであるが、クラウドサーバやＡＳＰサーバ等でもよく、そのタイプは問わない。サーバは、例えば、ＬＡＮやインターネット等のネットワーク、無線または有線の通信回線などを介して、１または２以上の端末（図示しない）と通信可能に接続される。端末は、例えば、情報検索等のサービスを利用するユーザの携帯端末であるが、据え置き型のＰＣ等でもよく、そのタイプは問わない。携帯端末は、例えば、タブレット端末、スマートフォン、携帯電話機、ノートＰＣ等であるが、これらに限定されるものではない。
【００２５】
ただし、エンティティ自動生成装置は、例えば、スタンドアロンの端末でもよく、その実現手段はこれらに限定されるものではない。図１は、実施形態におけるエンティティ自動生成装置１００のブロック図である。エンティティ自動生成装置１００は、格納部１、受付部２、処理部３、および出力部４を備える。格納部１は、テーブル格納部１１、インテント格納部１２、ＡＰＩ情報格納部１３、エンティティ格納部１５、エンティティマッピング情報格納部１６、ＰＫ項目格納部１７、エンティティ知識データベース（ＤＢ）５１、インテント知識データベース（ＤＢ）５２、コーパス知識データベース（ＤＢ）５３を備える。受付部２は、会話文受付手段２１と文字列受付手段５３を備える。会話文受付手段２１は、音声受付手段２１１、および音声認識手段２１２を備える。
【００２６】
処理部３は、パラメータ化手段３０、インテント決定手段３１、会話文情報決定手段３２、エンティティ取得部３３、パラメータ取得部３４、ＡＰＩ情報取得手段３５、問合情報構成部３６、および検索結果取得手段３７を備える。パラメータ取得部３４は、判断手段３４１、エンティティ名取得手段３４３、翻訳項目名取得手段３４４、テーブル識別子取得手段３４５、主キー識別子取得手段３４６、および変換パラメータ取得手段３４７を備える。出力部４は、検索結果出力手段４１を備える。
【００２７】
格納部１は、各種の情報を格納するデータベースである。各種の情報とは、例えば、テーブル、インテント、ＡＰＩ情報、コーパス、エンティティ、エンティティマッピング情報、ＰＫ項目、および日変換情報などである。なお、テーブル等の情報については後述する。また、その他の情報については、適時説明する。
【００２８】
テーブル格納部１１には、１または２以上のテーブルが格納される。テーブルは、例えば、表形式のデータベースであってもよい。テーブルには、例えば、１または２以上の項目名が登録され、さらに、当該１以上の項目名ごとに、１または２以上の値が登録される。なお、項目名は、属性名といってもよいし、一の項目名に対応する１以上の各値は、属性値といってもよい。また、テーブルは、例えば、リレーショナルデータベースのテーブル、ＴＳＶ、エクセル、ＣＳＶ、ニューラルネットワーク等であるが、その種類はこれらに限定されるものではない。
【００２９】
インテント格納部１２には、１または２以上のインテントが格納される。インテントとは、処理動作ごとに管理される情報である。処理動作ごとに管理されることは、例えば、処理動作を特定する情報に対応付けて、インテント格納部１２に格納されることであってもよい。なお、処理動作を特定する情報は、通常、後述するアクション名およびウェブフックであるが、その形式はこれらに限定されるものではない。また、対応付くことは、例えば、インテントが、処理動作を特定する情報を有する場合も含む。インテント格納部１２には、インテントに加え、後述するアクション決定情報や指示動作も格納される。
【００３０】
処理動作とは、業務に関する処理以外に、あらゆる行動や生活に関する処理も含む。業務は、例えば、定時までの勤務、定時後の残業、休暇、欠勤、Ａ案件、Ｂ案件、経理、製造などであるが、その種類はこれらに限定されるものではない。処理動作は、例えば、情報の検索である。なお、検索は、例えば、照会といってもよい。検索される情報は、例えば、残業時間や勤務時間等の勤怠情報であるが、残高や株価等の金融情報、または製造ラインの稼働情況などでもよく、これらに限定されるものではない。
【００３１】
ただし、処理動作は、例えば、情報の登録、または情報に基づく処理（例えば、勤怠情報に基づく給与計算、財務情報に基づく金融取引等）などでもよく、これらに限定されるものではない。
【００３２】
インテントは、通常、処理動作を特定するアクション名およびウェブフックを有する。アクション名とは、アクションの名称である。アクションとは、通常、ＡＰＩを介して実行される処理動作である。ただし、アクションは、例えば、ＳＱＬ文に応じて実行される処理動作であってもよい。
【００３３】
なお、アクション名は、通常、後述するＡＰＩ情報にも対応付いている。従って、インテントは、例えば、アクション名を介して、ＡＰＩ情報に対応付けられる、と考えてもよい。
【００３４】
また、インテントは、通常、インテント名も有する。インテント名とは、インテントの名称である。従って、インテントは、インテント名または当該インテント名で特定されるインテントと、アクション名または当該アクション名で特定されるアクションとを対応付ける情報である、と考えることもできる。
【００３５】
アクション名は、具体的には、例えば、「残業時間照会」、「勤務時間データ照会」等であるが、処理動作を特定し得る情報であれば何でもよい。
【００３６】
ＡＰＩ情報格納部１３には、１または２以上のＡＰＩ情報が格納される。ＡＰＩ情報とは、ＡＰＩに関する情報である。ＡＰＩとは、プログラムの機能を利用するためのインターフェースである。ＡＰＩは、例えば、関数、メソッド、または実行モジュールなどのソフトウェアである。ＡＰＩは、例えば、ＷｅｂＡＰＩであるが、それ以外のＡＰＩでもよい。ＷｅｂＡＰＩとは、ＨＴＴＰやＨＴＴＰＳなどのＷｅｂ通信のプロトコルを用いて構築されたＡＰＩである。なお、ＷｅｂＡＰＩ等のＡＰＩについては、公知技術であるので、詳しい説明を省略する。
【００３７】
ＡＰＩ情報は、インテントに対応付いている情報である。ＡＰＩ情報は、前述したように、例えば、アクション名およびウェブフックを介して、インテントに対応付いている。
【００３８】
ＡＰＩ情報は、通常、情報検索を行うための情報である。ただし、ＡＰＩ情報は、例えば、情報の登録、または情報に基づく処理などを行うための情報であってもよい。
【００３９】
ＡＰＩ情報は、１または２以上のパラメータ特定情報を有する。パラメータ特定情報とは、パラメータを特定する情報である。パラメータとは、特定の属性を有する値である、といってもよい。値は、通常、変数である。変数は、引数といってもよい。
【００４０】
パラメータは、通常、エンティティを変換した情報であるが、エンティティそのものでもよい。パラメータは、例えば、ＡＰＩに与える引数、またはＳＱＬ文の変数などである。
【００４１】
パラメータ特定情報は、例えば、パラメータ名である。パラメータ名とは、パラメータの名称である。または、パラメータ特定情報は、例えば、属性名であるが、パラメータを特定し得る情報であれば何でもよい。
【００４２】
またＡＰＩ情報は、例えば、ＳＱＬ文でもよい。ＳＱＬ文とは、データベースに対して問い合わせを行うための文である、といってもよい。または、ＡＰＩ情報は、例えば、ＵＲＬとメソッドとの組などでもよく、その構造はこれらに限定されるものではない。
【００４３】
エンティティ情報が有するエンティティは、当該エンティティ情報が有するエンティティ名に対応する１または２以上のエンティティの中の代表値である。代表値は、一のエンティティ名に対応する１以上のエンティティ中の、例えば、先頭のエンティティであるが、どのエンティティでもよい。
【００４４】
エンティティ名とは、エンティティの名称である。エンティティ名は、例えば、「社員エンティティ」、「日付エンティティ」、「残業時間エンティティ」、「天候エンティティ」等であるが、エンティティの属性を表現し得る情報であれば、その形式はこれらに限定されるものではない。社員エンティティとは、社員に関するエンティティである。日付エンティティとは、日付に関するエンティティである。残業時間エンティティとは、残業時間に関するエンティティである。
【００４５】
またエンティティ情報は、テキストデータがテンプレートの場合、例えば、エンティティ名、および順序情報を有していてもよい。順序情報とは、テンプレートに含まれる１以上の変数において、当該エンティティ名が何番目の変数に対応するかを示す値である。ただし、エンティティ情報の構造は、これに限定されるものではない。
【００４６】
なお、実施形態におけるコーパスとは、例えば、インテント格納部１２に格納されている１以上のテキストデータの各々と考えてもよいし、１以上のテキストデータ、および各テキストデータに対応付いているエンティティ情報の集合と考えることもできる。
【００４７】
エンティティ格納部１５には、１または２以上のエンティティが格納される。エンティティとは、テキストデータに対応付けられた１または２以上の各単語である。単語とは、文を構成する単位である。単語は、例えば、単に「語」、または「ことば」などと呼んでもよいし、形態素の一種（例えば、後述する自立語）と考えてもよい。
【００４８】
エンティティ格納部１５には、例えば、１以上の各エンティティ名に対応付けて、１または２以上のエンティティが格納される。
【００４９】
エンティティは、通常、インテント格納部１２に格納されている１以上のテキストデータの中のいずれか１つ又は２以上のテキストデータに対応付いている。従って、エンティティ格納部１５には、例えば、インテント格納部１２に格納されている１以上のテキストデータごとに、１または２以上のエンティティが格納されてもよい。上述した「社員エンティティ」、「日付エンティティ」、「残業時間エンティティ」、「天候エンティティ」等がこのエンティティ格納部１５に格納される。
【００５０】
テキストデータに対応付く単語は、通常、自立語である。自立語とは、単独でも文節を構成し得る語であり、例えば、名詞であるが、動詞、形容詞等でもよい。ただし、対応付く単語は、付属語でもよい。付属語とは、単独では文節を構成し得ず、他の自立語を伴って文節を構成する語であり、例えば、助動詞、助詞などである。つまり、対応付く単語は、通常、自立語であるが、付属語を伴った自立語であってもよい。
【００５１】
また、対応付く単語は、例えば、連語でもよい。連語とは、２以上の自律語が結び付いて一定の意味を表す語であり、複合語といってもよい。連語は、例えば、“残業”と“時間”が結合した“残業時間”や、“Ａ”と“案件”が結合した“Ａ案件”等であるが、“中村一郎”といった氏と名の組でもよく、２以上の語の組であれば何でもよい。
【００５２】
なお、対応付く単語は、テキストデータが例文の場合は、当該例文に含まれている１または２以上の各単語（つまり、テキストデータ内の情報）あるが、テキストデータがテンプレートの場合は、当該テンプレートに含まれる１または２以上の各変数の位置に挿入されるべき単語（つまり、テキストデータに付加される情報）である。
【００５３】
エンティティマッピング情報格納部１６には、１または２以上のエンティティマッピング情報が格納される。エンティティマッピング情報とは、テーブル識別子および翻訳項目名をエンティティ名に対応付ける情報である、といってもよい。
【００５４】
エンティティマッピング情報は、例えば、テーブル識別子と、翻訳項目名と、エンティティ名とを有する。テーブル識別子とは、テーブル格納部１１に格納されている１以上の各テーブルを識別する情報である。テーブル識別子は、例えば、“ＭＳＴ＿ＳＨＡＩＮ”や“ＴＲＮ＿ＴＩＭＥ＿ＣＡＲＤ”等であるが、テーブルを識別し得る情報であれば何でもよい。
【００５５】
翻訳項目名とは、テーブル識別子で識別されるテーブル内の属性名であり、変換されるエンティティを特定する情報である。変換されるエンティティとは、パラメータに変換されるエンティティ（例えば、パラメータ“ｓｈａｉｎ＿ｃｏｄｅ＝１”に変換されるエンティティ“中村一郎”や、パラメータ“ｓｔａ＿ｄａｔｅ＝２０１９０４０１，ｅｎｄ＿ｄａｔｅ＝２０１９０４３０”に変換されるエンティティ“先月”等）である。
【００５６】
翻訳項目名は、例えば、テーブル識別子で識別されるテーブルが有する１以上の項目名のうち、主キー以外のキーに対応する項目名であり、主キーに対応する項目名に変換される項目名であってもよい。主キーに対応する項目名とは、例えば、主キー識別子である。
【００５７】
翻訳項目名は、例えば、“ＳＨＡＩＮ＿ＣＯＤＥ”や“ＴＩＭＥ＿ＣＡＲＤ＿ＤＡＴＥ”等であるが、変換されるエンティティを特定し得る情報であれば何でもよい。
【００５８】
ＰＫ項目格納部１７には、１または２以上のＰＫ項目が格納される。ＰＫ項目とは、主キーに対応する項目である。ＰＫ項目は、例えば、テーブル識別子と、主キー識別子とを有する。主キー識別子とは、テーブル識別子で識別されるテーブルの主キーを特定する情報である。
【００５９】
主キー識別子は、例えば、テーブル識別子“ＭＳＴ＿ＳＨＡＩＮ”で識別されるテーブル（以下、社員マスタ）の場合は“ＳＨＡＩＮ＿ＣＯＤＥ”であり、テーブル識別子“ＴＲＮ＿ＴＩＭＥ＿ＣＡＲＤ”で識別されるテーブル（以下、勤務時間テーブル）の場合は“ＳＨＡＩＮ＿ＣＯＤＥ”と“ＴＩＭＥ＿ＣＡＲＤ＿ＤＡＴＥ”の２つである。
【００６０】
エンティティ知識ＤＢ５１は、言葉からエンティティを自動生成する為に必要な語句、意味及びエンティティ抽出の為のアルゴリズムを有するデータベースである。エンティティ知識ＤＢ５１は、会話文に含まれる単語をエンティティを介してパラメータ化する上で、予めその単語に見合うエンティティが登録されていない場合において参照するためのデータベースである。図２は、エンティティ知識ＤＢ５１の例である。エンティティ知識ＤＢ５１は、各単語に対してエンティティ決定情報がそれぞれ紐付けられている。このエンティティ決定情報は、単語の意味を示すものであり、実際の概念辞書や類義語辞書において各単語について紐付けられた情報が反映されていてもよく、各単語が示す内容、概念、コンセプトが当該単語毎に紐付けてテーブル化されている。一の単語に複数の意味が紐づけられていてもよいし、一の意味に複数の単語が紐づけられていてもよい。また、エンティティ決定情報は、単語の意味以外に、固有名詞や、カテゴリー（例えば、商品、人称等）、法則やルール等で構成されるものであってもよい。以下の説明では、エンティティ決定情報として意味を紐付ける場合を例にとり説明をする。会話文に含まれる単語をパラメータ化する上で、予めエンティティが登録されていない場合、このエンティティ知識ＤＢ５１を参照することで、そのエンティティの候補となりえる意味を抽出することができる。
【００６１】
インテント知識ＤＢ５２は、言葉からインテントを自動生成する為に必要な語句、意味及びインテント抽出の為のアルゴリズムを有するデータベースである。インテント知識ＤＢ５２は、会話文に含まれる指示動作にインテントを割り当てる上で、予めその指示動作（動詞）に見合うインテントが登録されていない場合において参照するためのデータベースである。図３は、インテント知識ＤＢ５２の例である。インテント知識ＤＢ５２は、各指示動作に対してアクション決定情報がそれぞれ紐付けられている。このアクション決定情報は、例えば意味であり、実際の概念辞書や類義語辞書において各指示動作について紐付けられた情報が反映されていてもよく、各指示動作が示す内容、概念、コンセプトが当該単語毎に紐付けてテーブル化されている。またアクション決定情報は、意味に限定されるものでは無く、動詞のカテゴリー（例えば、役務に使用される動詞、生活に使用される動詞）等であってもよいし、法則やルール等で構成されるものであってもよい。また、このアクション決定情報としては、指示動作に応じて具体的にいかなる処理動作を実行するかを示す情報が記述されていてもよいし、具体的な処理動作を実行するためのプログラム群が紐付けられていてもよい。またアクション決定情報は、実際にプログラムを実行するためのＡＰＩやこれらに紐付けられたウェブフック等の情報が含められていてもよい。またアクション決定情報としては、これら以外にアクション名、ウェブフック（処理アルゴリズム）、コンテキスト（インテント間のデータやりとり）、デフォルト応答テキスト（アクションがない時）、会話の終わり等の様々な情報が格納されている。ウェブフックとはアクション名とアクションを紐づけ実行する仕組みである。
【００６２】
以下の説明では、エンティティ決定情報として具体的な処理動作を実行するためのプログラム群を紐付ける場合を例にとり説明をする。一の指示動作に複数のプログラム群が紐づけられていてもよいし、一のプログラム群に複数の指示動作が紐づけられていてもよい。会話文に含まれる指示動作をパラメータ化する上で、予めインテントが登録されていない場合、このインテント知識ＤＢ５２を参照することで、そのインテントの候補となりえるプログラム群を抽出することができる。
【００６３】
コーパス知識ＤＢ５３は、言葉からコーパスを自動生成する為に必要な語句、意味及びコーパス抽出の為のアルゴリズムを有するデータベースである。図４は、コーパス知識ＤＢ５３の例である。コーパス知識ＤＢ５３は、テキストデータと、エンティティやインテントからなるコーパス決定情報とが互いに対応させて格納されている。このとき、一のコーパス決定情報に対して少なくとも一のテキストデータが対応付けされて格納されていてもよいが、これに限定されるものでは無く、一のコーパス決定情報に対して２以上のテキストデータが対応付けされて格納されていてもよい。
【００６４】
受付部２は、各種の情報を受け付ける。各種の情報とは、例えば、会話文や文字列からなる電子データである。受付部２は、会話文等の情報を、例えば、端末から受信するが、キーボードやタッチパネルやマイクロフォン等の入力デバイスを介して受け付けてもよい。または、受付部２は、例えば、ディスクや半導体メモリ等の記録媒体から読み出された情報を受け付けてもよく、その受け付けの態様は特に限定されるものではない。
【００６５】
会話文受付手段２１は、会話文を受け付ける。会話文とは、人が会話する文であり、自然言語による文といってもよい。会話文の受け付けは、例えば、音声での受け付けであるが、テキストデータでの受け付けでもよい。音声とは、人が発した声である。テキストデータとは、人が発した声を音声認識した文字列である。文字列は、１または２以上の文字の配列で構成される。
【００６６】
音声受付手段２１１は、会話文の音声を受け付ける。音声受付手段２１１は、会話文の音声を、例えば、端末から、端末識別子と対に受信するが、マイクロフォンを介して受け付けてもよい。端末識別子とは、端末を識別する情報である。端末識別子は、例えば、ＭＡＣアドレス、ＩＰアドレス、ＩＤなどであるが、端末を識別し得る情報であれば何でもよい。なお、端末識別子は、端末のユーザを識別するユーザ識別子でもよい。ユーザ識別子は、例えば、メールアドレス、電話番号等であるが、ＩＤや住所・氏名等でもよく、ユーザを識別し得る情報であれば何でもよい。
【００６７】
音声認識手段２１２は、音声受付手段２１１が受け付けた音声に対して音声認識処理を行い、文字列である会話文をテキストデータとして取得する。なお、音声認識処理は公知技術であり、詳しい説明を省略する。
【００６８】
文字列受付手段２１３は、紙媒体や電子媒体に記載されている文字列からテキストデータを取得する。文字列受付手段２１３は、紙媒体から読み取った文字列をＯＣＲ技術で文字認識してテキストデータ化してもよいし、電子媒体に含まれる文字列をそのままテキストデータとして取得してもよい。文字列受付手段２１３により取得されるテキストデータは、データベース内にあるデータ、もしくはメール文章、ドキュメントファイル等から取得するようにしてもよい。
【００６９】
処理部３は、各種の処理を行う。各種の処理とは、例えば、パラメータ化手段３０、インテント決定手段３１、会話文情報決定手段３２、エンティティ取得部３３、パラメータ取得部３４、ＡＰＩ情報取得手段３５、問合情報構成部３６、検索結果取得手段３７、判断手段３４１、エンティティ名取得手段３４３、翻訳項目名取得手段３４４、テーブル識別子取得手段３４５、主キー識別子取得手段３４６、および変換パラメータ取得手段３４７などの処理である。また、各種の処理には、例えば、フローチャートで説明する各種の判別なども含まれる。
【００７０】
処理部３は、例えば、会話文受付手段２１が会話文を受け付けたことに応じて、パラメータ化手段３０及びインテント決定手段３１等の処理を行う。なお、１以上の各端末から、端末識別子と対に会話文が送信される場合、処理部３は、インテント決定手段３１等の処理を、１以上の端末識別子ごとに行う。
【００７１】
パラメータ化手段３０は、会話文受付手段２１が受け付けた１以上の会話文に含まれる１以上のエンティティをパラメータ化する。なお、パラメータ化手段３０は、会話文情報決定手段３２が決定したテキストデータに対応するエンティティをパラメータ化してもよい。
【００７２】
詳しくは、パラメータ化手段３０は、音声として入力された会話文に含まれるエンティティ、一例として自立語をパラメータ化する。例えば、「大塚の先月の残業時間を教えて」という会話文と「先月の大塚の残業時間を教えて」という会話文を比較すると、「大塚」と「先月」の単語が入れ替わっている点以外、２つの会話文に異なる点は無い。しかしながら、これまでの検索結果では、異なる意味を持つ会話文として、必ずしも同じ意味内容であると認識されていないことがあった。そこで、パラメータ化手段３０は、これらの会話文に含まれる「大塚」、「先月」、「残業時間」という自立語、即ちエンティティをパラメータ化する。
【００７３】
インテント決定手段３１は、会話文受付手段２１が受け付けた会話文に対応するインテントを決定する。
【００７４】
詳しくは、インテント決定手段３１は、最初、例えば、会話文受付手段２１が受け付けた会話文に対応するテキストを取得する。テキストは、前述したように、例えば、会話文受付手段２１が受け付けた会話文を音声認識した結果であるが、会話文受付手段２１が受け付けた会話文そのものでもよい。
【００７５】
すなわち、インテント決定手段３１は、音声である会話文が受け付けられた場合、当該会話文を音声認識し、テキストを取得する。なお、テキストである会話文が受け付けられた場合、インテント決定手段３１は、当該テキストを取得すればよい。
【００７６】
次に、インテント決定手段３１は、取得したテキストに対して、例えば、自然言語解析を行うことにより、当該テキストから１以上の自立語を取得する。なお、自然言語解析は公知技術であり、詳しい説明を省略する。
【００７７】
そして、インテント決定手段３１は、取得した１以上の自立語と同一または類似する単語を有するアクション名およびウェブフックを有するインテントを決定する。
【００７８】
詳しくは、学習済み言語解析モデルを介して解析された結果、インテントが決定されるとともにエンティティも導出される。インテントは｛残業時間参照｝、エンティティは、｛日付エンティティ｝と｛残業時間エンティティ｝が導出される。
【００７９】
パラメータ取得部３４は、エンティティ取得部３３が取得した１以上の各エンティティに対応する１以上のパラメータを取得する。
【００８０】
エンティティ名取得手段３４３は、エンティティ取得部３３が取得した１以上のエンティティごとに、当該エンティティに対応するエンティティ名をエンティティ格納部１５から取得する。
【００８１】
当該エンティティに対応するエンティティ名とは、当該エンティティが取得された会話文において、当該エンティティに対応するエンティティの位置に一致または類似する開始位置および終了位置と対になるエンティティ名である。エンティティ名取得手段３４３は、エンティティ取得部３３が取得した１以上のエンティティごとに、例えば、当該エンティティに対応付いたエンティティ情報を用いて、当該エンティティに対応するエンティティ名をエンティティ格納部１５から取得してもよい。
【００８２】
具体的には、例えば、受け付けられた会話文「大塚の先月の残業時間を教えて」から３つのエンティティ「大塚」、「先月」、および「残業時間」が取得された場合、エンティティ名取得手段３４３は、インテント格納部１２に格納されているテキストデータ「中村の先月の残業時間を教えて」において、当該テキストデータに対応付けて格納されている３つのエンティティ情報のうち、受け付けられた会話文「大塚の先月の残業時間を教えて」における「大塚」と同じ開始位置“１”および終了位置“２”を有する１つ目のエンティティ情報を用いて、「中村」に対応付いた「社員エンティティ」を取得する。
【００８３】
また、エンティティ名取得手段３４３は、例えば、上記３つのエンティティ情報のうち、会話文「大塚の先月の残業時間を教えて」における「先月」と同じ開始位置“４”および終了位置“５”を有する２つ目のエンティティ情報を用いて、「先月」に対応付いた「日付エンティティ」を取得し、さらに、会話文「大塚の先月の残業時間を教えて」における「残業時間」と同じ開始位置“７”および終了位置“１０”を有する３つ目のエンティティ情報を用いて、「残業時間」に対応付いた「残業時間エンティティ」を取得する。
【００８４】
テーブル識別子取得手段３４５は、エンティティ名取得手段３４３が取得した１以上のエンティティ名ごとに、当該エンティティ名と対になるテーブル識別子をエンティティマッピング情報格納部１６から取得する。
【００８５】
主キー識別子取得手段３４６は、テーブル識別子取得手段３４５が取得したテーブル識別子と対になる主キー識別子をＰＫ項目格納部１７から取得する。
【００８６】
変換パラメータ取得手段３４７は、テーブル識別子取得手段３４５が取得したテーブル識別子で識別されるテーブルから、翻訳項目名取得手段３４４が取得した翻訳項目名の属性値が、エンティティ取得部３３が取得したエンティティと一致するレコードに含まれる属性値であり、主キー識別子取得手段３４６が取得した主キー識別子の属性値である、変換されたパラメータを取得する。
【００８７】
ＡＰＩ情報取得手段３５は、インテント決定手段３１が決定したインテントに対応するＡＰＩ情報をＡＰＩ情報格納部１３から取得する。
【００８８】
ＡＰＩ情報取得手段３５は、例えば、インテント決定手段３１が決定したインテントに対応するアクション名およびウェブフックを有するＡＰＩ情報を、ＡＰＩ情報格納部１３から取得する。
【００８９】
問合情報構成部３６は、パラメータ取得部３４が取得した１以上のパラメータと、ＡＰＩ情報取得手段３５が取得したＡＰＩ情報とを用いて、問合情報を構成する。問合情報とは、情報検索するための情報であり、通常、実行可能な情報である。問合情報は、例えば、引数が挿入された関数またはメソッドであるが、完成されたＳＱＬ文でもよいし、ＵＲＬとパラメータの組でもよい。
【００９０】
問合情報構成部３６は、例えば、ＡＰＩ情報取得手段３５が取得したＡＰＩ情報が有する１以上の各変数の箇所に、各箇所に対応付くパラメータであり、パラメータ取得部３４が取得したパラメータを配置することにより、問合情報を構成する。
【００９１】
出力部４は、各種の情報を出力する。各種の情報とは、例えば、検索結果である。
【００９２】
出力部４は、例えば、受付部２が端末識別子と対に会話文等の情報を受信したことに応じて処理部３が各種の処理を行った結果である検索結果等の情報を、当該端末識別子で識別される端末に送信する。または、例えば、受付部２がタッチパネルやマイクロフォン等の入力デバイスを介して会話文等の情報を受け付けたことに応じて、出力部４は、検索結果等の情報を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。
【００９３】
ただし、出力部４は、各種の情報を、例えば、プリンタでプリントアウトしたり、記録媒体に蓄積したり、他のプログラムに引き渡したり、外部の装置に送信したりしてもよく、その出力の態様は特に限定されるものではない。
【００９４】
検索結果出力手段４１は、検索結果取得手段３７を介して取得した検索結果を出力する。検索結果出力手段４１は、例えば、会話文受付手段２１が端末識別子と対に会話文を受信したことに応じて検索結果取得手段３７が取得した検索結果を、当該端末識別子で識別される端末に送信する。または、検索結果出力手段４１は、例えば、会話文受付手段２１がマイクロフォン等の入力デバイスを介して会話文を受け付けたことに応じて検索結果取得手段３７が取得した検索結果を、ディスプレイやスピーカ等の出力デバイスを介して出力してもよい。
【００９５】
格納部１、テーブル格納部１１、インテント格納部１２、ＡＰＩ情報格納部１３、コエンティティ格納部１５、エンティティマッピング情報格納部１６、ＰＫ項目格納部１７は、例えば、ハードディスクやフラッシュメモリといった不揮発性の記録媒体が好適であるが、ＲＡＭなど揮発性の記録媒体でも実現可能である。
【００９６】
格納部１等に情報が記憶される過程は、特に限定されるものではない。例えば、記録媒体を介して情報が格納部１等で記憶されるようになってもよく、ネットワークや通信回線等を介して送信された情報が格納部１等で記憶されるようになってもよく、あるいは、入力デバイスを介して入力された情報が格納部１等で記憶されるようになってもよい。入力デバイスは、例えば、キーボード、マウス、タッチパネル、マイクロフォン等、何でもよい。
【００９７】
受付部２、会話文受付手段２１、音声受付手段２１１、および音声認識手段２１２、文字列受付手段２１３は、入力デバイスを含むと考えても、含まないと考えてもよい。受付部２等は、入力デバイスのドライバーソフトによって、または入力デバイスとそのドライバーソフトとで実現され得る。
【００９８】
出力部４、および検索結果出力手段４１は、ディスプレイやスピーカ等の出力デバイスを含むと考えても含まないと考えてもよい。出力部４等は、出力デバイスのドライバーソフトによって、または出力デバイスとそのドライバーソフトとで実現され得る。
【００９９】
なお、受付部２等の受信機能は、通常、無線または有線の通信手段（例えば、ＮＩＣ（Network interface controller）やモデム等の通信モジュール）で実現されるが、放送を受信する手段（例えば、放送受信モジュール）で実現されてもよい。また、出力部４等の送信機能は、通常、無線または有線の通信手段で実現されるが、放送手段（例えば、放送モジュール）で実現されてもよい。
【０１００】
次に、エンティティ自動生成装置１００の動作について説明する。以下において説明する処理動作は、ＣＰＵやＭＰＵ等のプロセッサが、ＨＤＤや不揮発性メモリ（例えば、フラッシュメモリ）等の記憶媒体に格納されているプログラムを読み込むことにより実現される。
【０１０１】
図５に示すように、先ずステップＳ１１において、受付部２は、テキストデータを取得する。次にステップＳ１２に移行し、公知の自然言語解析を行う。この自然言語解析では、形態素解析、必要に応じて構文解析を行うことにより、指示動作（動詞）と、これに係り受けする少なくとも単語（名詞又は名詞句）を抽出する。例えば、テキストデータが「今日は雨なので傘がよく売れるでしょう」であれば、これを自然言語解析することにより、単語（名詞又は名詞句）としては、「今日」、「雨」、「傘」を抽出し、指示動作として、「売れる」を抽出する。
【０１０２】
このようにして抽出した単語については、それぞれエンティティ格納部１５に問い合わせ、その単語に最も適合するエンティティを割り当てる。同様に、抽出した指示動作については、インテント格納部１２に問い合わせ、その指示動作に最も適合するインテントを割り当てる。またコーパスについては、インテント格納部１２に問い合わせ、その会話文に最も適合するコーパスを割り当てる。
【０１０３】
その結果、抽出した単語に適合するエンティティがエンティティ格納部１５に格納されていれば、そのエンティティを割り当てることができる。同様に、抽出した指示動作に適合するインテントがインテント格納部１２に格納されていれば、そのインテントを割り当てることができる。
【０１０４】
一方、抽出した単語に適合するエンティティがエンティティ格納部１５に格納されていない場合、単語にエンティティを割り当てることができない。同様に、抽出した指示動作に適合するインテントがインテント格納部１２に格納されていない場合、指示動作にインテントを割り当てることができない。
【０１０５】
ステップＳ１３において、ステップＳ１２における自然言語解析の結果、正しく解析ができればインテントとエンティティが割り当てられるので、かかる場合には、ステップＳ２３に移行する。これに対してステップＳ１２における自然言語解析の結果、インテント、エンティティの何れか、または両方について割り当てることができなかった場合には、正しく解析ができなかったものと判断し、ステップＳ１４へ移行する。
【０１０６】
ステップＳ１４に移行した場合において、エンティティが正しく割り当てられたか否かを確認する。その結果、エンティティが正しく割り当てられている場合にはステップＳ１６へ移行する。これに対して、エンティティが正しく割り当てられていない場合には、ステップＳ１５へ移行する。
【０１０７】
ステップＳ１５に移行した場合には、エンティティの自動生成を行う。かかる場合には、エンティティ知識ＤＢ５１にアクセスする。エンティティ知識ＤＢ５１では、上述したように、各単語に対してエンティティ決定情報としての「意味」がそれぞれ紐付けられている。ステップＳ１５では、エンティティ知識ＤＢ５１を参照し、エンティティが正しく割り当てられていない単語と関連度が深いエンティティ決定情報（意味）を探索する。
【０１０８】
仮に、ステップＳ１２において自然言語解析した単語のうち、「今日」についてエンティティが正しく割り当てられていない場合には、このエンティティ知識ＤＢ５１を参照し、単語「今日」に紐付けられている意味を探索する。その結果、このエンティティ知識ＤＢ５１では、単語「今日」に対しては、意味「日付」が割り当てられているため、これを単語「今日」に対するエンティティとしてエンティティ格納部１５に登録する。
【０１０９】
同様に、ステップＳ１２において自然言語解析した単語のうち、「雨」についてエンティティが正しく割り当てられていない場合には、このエンティティ知識ＤＢ５１を参照し、単語「雨」に紐付けられている意味を探索する。その結果、このエンティティ知識ＤＢ５１では、単語「雨」に対しては、意味「天候」が割り当てられているため、これを単語「雨」に対するエンティティとしてエンティティ格納部１５に登録する。
【０１１０】
同様に、ステップＳ１２において自然言語解析した単語のうち、「傘」についてエンティティが正しく割り当てられていない場合には、このエンティティ知識ＤＢ５１を参照し、単語「傘」に紐付けられている意味を探索する。その結果、このエンティティ知識ＤＢ５１では、単語「傘」に対しては、意味「雨具」が割り当てられているため、これを単語「傘」に対するエンティティとしてエンティティ格納部１５に登録する。
【０１１１】
このようにして単語に対して新たにエンティティを割り当てる都度、エンティティ格納部１５に対して割り当てたエンティティを順次登録していく。図６（ａ）は、このエンティティ格納部１５において新たに割り当てたエンティティを登録する例を示している。新たに割り当てられたエンティティ「日付」に対しては、これに対応する単語「今日」がエンティティ値として紐付けられる。新たに割り当てられたエンティティ「雨具」に対しては、これに対応する単語「傘」がエンティティ値として紐付けられる。新たに割り当てられたエンティティ「天候」に対しては、これに対応する単語「雨」がエンティティ値として紐付けられる。つまり、エンティティ決定情報を単語のエンティティとして登録するとともに、当該単語をエンティティ値として登録する。
【０１１２】
なお、このエンティティの登録については、各単語に対して意味がそれぞれ１対１で紐付けられた図２に示すエンティティ知識ＤＢ５１を利用する場合に限定されるものではなく、図７に示すように、単語に対する実際のエンティティ決定情報（意味）が３段階以上の連関度を以って関連付けられた学習済モデルを利用して解探索を行うようにしてもよい。
【０１１３】
この学習済モデルでは、参照用の単語と、エンティティ決定情報（意味）との３段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用の単語Ｐ０１〜Ｐ０３であるものとする。例えば、この単語Ｐ０１が「今日」、単語Ｐ０２が「雨」、単語Ｐ０３が「決算書」等であるものとする。このような入力データとしての参照用の単語Ｐ０１〜Ｐ０３は、出力としてのエンティティ決定情報（意味）に連結している。
【０１１４】
このような参照用の単語は、この出力解としての意味（例えば、「雨具」、「請求書」、「天候」、「日付」等））に対して３段階以上の連関度を通じて互いに連関しあっている。単語がこの連関度を介して左側に配列し、各意味が連関度を介して右側に配列している。連関度は、左側に配列された単語に対して、何れの意味と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各単語が、いかなる意味に紐付けられる可能性が高いかを示す指標であり、単語から最も確からしい意味を選択する上での的確性を示すものである。図７の例では、連関度としてｗ１３〜ｗ１９が示されている。このｗ１３〜ｗ１９は以下の表１に示すように１０段階で示されており、１０点に近いほど、中間ノードとしての各組み合わせが出力としての意味と互いに関連度合いが高いことを示しており、逆に１点に近いほど中間ノードとしての各組み合わせが出力としての意味と互いに関連度合いが低いことを示している。
【０１１５】
【表１】
0006954549.tif 000002
【０１１６】
このような図７に示す３段階以上の連関度ｗ１３〜ｗ１９を予め取得しておく。つまり実際の探索解の判別を行う上で、単語と、意味の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで連関度を作り上げておく。
【０１１７】
例えば、過去において単語Ｐ０１に対して意味として「日付」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用の単語との連関度が強くなる。
【０１１８】
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば単語Ｐ０１である場合に、過去のデータセットに基づいて分析する。単語Ｐ０１である場合に、「日付」の事例が多い場合には、この意味につながる連関度をより高く設定し、「天候」の事例が多い場合には、この意味につながる連関度をより高く設定する。例えば単語Ｐ０１の例では、「日付」と、「天候」にリンクしているが、以前の事例から「日付」につながるｗ１３の連関度を７点に、「天候」につながるｗ１４の連関度を２点に設定している。
【０１１９】
また、この連関度は、人工知能における機械学習を通じて学習させるためのニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。
【０１２０】
かかる場合には、図８に示すように、入力データとして単語が入力され、出力データとして意味が出力され、入力ノードと出力ノードの間に少なくとも１以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力ノード又は隠れ層ノードの何れか一方又は両方において上述した連関度が設定され、これが各ノードの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。
【０１２１】
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに単語から意味の探索を行うこととなる。かかる場合には、正しいエンティティを割り当てられていない単語について、これに見合う意味を探索する。かかる場合には、予め取得した図７（表１）に示す連関度を参照する。例えば、新たに取得した単語がＰ０２と同一かこれに類似するものである場合には、連関度を介して「天候」がｗ１５、「請求書」が連関度ｗ１６で関連付けられている。かかる場合には、連関度の最も高い「天候」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「請求書」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。
【０１２２】
このときエンティティ知識ＤＢ５１に類義語辞書を格納しておくようにしてもよい。類義語辞書とは、類義語に関する辞書である。類義語辞書には、エンティティ知識ＤＢ５１に格納されている１以上の各単語と、当該単語の１または２以上の類義語とが登録されている。具体的には、例えば、単語「傘」に対応付けて、「レインコート」、「合羽」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した単語が参照用の単語と類似するか否かを判別することができる。仮に参照用の単語が「合羽」である場合において、新たに取得した単語が「傘」である場合、類義語辞書において類似するものとして予め登録されていることから「雨具」に対応するものと判断することが可能となる。
【０１２３】
このような連関度を参照することにより、テキストデータから抽出した単語がいかなる意味に該当するものであるのかを精度良く判別することができる。
【０１２４】
上述のようなステップＳ１５におけるエンティティの自動生成処理が終了した場合には、ステップＳ１６へ移行する。
【０１２５】
ステップＳ１６では、インテント、コーパスが正しく割り当てられたか否かを確認する。その結果、インテント、コーパスが正しく割り当てられている場合にはステップＳ２０へ移行する。これに対して、インテント、コーパスが正しく割り当てられていない場合には、ステップＳ１７へ移行する。
【０１２６】
ステップＳ１７に移行した場合には、インテントの自動生成を行う。かかる場合には、先ずステップＳ１１において取得したテキストデータをそのままインテントとして登録する。例えば、入力されたテキストデータが「今日は雨なので傘がよく売れるでしょう」であればそれをコーパスとみなしてそのままインテントとして登録する。次にインテント知識ＤＢ５２にアクセスする。インテント知識ＤＢ５２では、上述したように、各指示動作に対してアクション決定情報がそれぞれ紐付けられている。ステップＳ１７では、インテント知識ＤＢ５２を参照し、インテントが正しく割り当てられていない指示動作と関連度が深いアクション決定情報（意味）を探索する。
【０１２７】
仮に、ステップＳ１２において自然言語解析した指示動作のうち、「売れる」についてインテントが正しく割り当てられていない場合には、このインテント知識ＤＢ５２を参照し、指示動作「売れる」に紐付けられているアクション決定情報を探索する。その結果、このインテント知識ＤＢ５２では、指示動作「売れる」に対しては、アクション決定情報「販売処理」が割り当てられているため、これを指示動作「売れる」に対するアクション決定情報としてインテント格納部１２に登録する。
【０１２８】
このようにして指示動作に対して新たにインテントを割り当てる都度、インテント格納部１２に対して割り当てたインテントとアクション決定情報とを順次登録していく。図６（ｂ）は、このインテント格納部１２において新たに割り当てたインテントとアクション決定情報を登録する例を示している。新たに割り当てられたインテントに対しては、これに対応するアクション決定情報として販売処理が紐付けられる。
【０１２９】
なお、このインテントの登録については、各単語（行為）に対してアクション決定情報がそれぞれ１対１で紐付けられた図３に示すインテント知識ＤＢ５２を利用する場合に限定されるものではなく、図９に示すように、指示動作に対するアクション決定情報が３段階以上の連関度を以って関連付けられた学習済モデルを利用して解探索を行うようにしてもよい。
【０１３０】
この学習済モデルでは、参照用の指示動作と、アクション決定情報（意味）との３段階以上の連関度が予め設定されていることが前提となる。入力データとして例えば参照用の指示動作Ｐ０４〜Ｐ０６であるものとする。例えば、この指示動作Ｐ０４が「売れる」であるものとする。このような入力データとしての参照用の指示動作Ｐ０４〜Ｐ０６は、出力としてのアクション決定情報に連結している。
【０１３１】
このような参照用の指示動作は、この出力解としてのアクション決定情報（例えば、「販売」、「着衣」、「要否」、「体感」等））に対して３段階以上の連関度を通じて互いに連関しあっている。指示動作がこの連関度を介して左側に配列し、各アクション決定情報が連関度を介して右側に配列している。連関度は、左側に配列された指示動作に対して、何れのアクション決定情報と関連性が高いかの度合いを示すものである。換言すれば、この連関度は、各指示動作が、いかなるアクション決定情報に紐付けられる可能性が高いかを示す指標であり、指示動作から最も確からしいアクション決定情報を選択する上での的確性を示すものである。図９の例では、連関度としてｗ１３〜ｗ１９が示されている。
【０１３２】
このような図９に示す３段階以上の連関度ｗ１３〜ｗ１９を予め取得しておく。つまり実際の探索解の判別を行う上で、指示動作と、アクション決定情報の何れが採用、評価されたか、過去のデータセットを蓄積しておき、これらを分析、解析することで連関度を作り上げておく。
【０１３３】
例えば、過去において指示動作Ｐ０４に対してアクション決定情報として「販売」が最も適合性が高いと判断され、評価されたものとする。このようなデータセットを集めて分析することにより、参照用の指示動作との連関度が強くなる。
【０１３４】
この分析、解析は人工知能により行うようにしてもよい。かかる場合には、例えば指示動作Ｐ０４である場合に、過去のデータセットに基づいて分析する。指示動作Ｐ０４である場合に、「販売」の事例が多い場合には、このアクション決定情報につながる連関度をより高く設定し、「要否」の事例が多い場合には、このアクション決定情報につながる連関度をより高く設定する。例えば指示動作Ｐ０４の例では、「販売」と、「要否」にリンクしているが、以前の事例から「販売」につながるｗ１３の連関度を７点に、「要否」につながるｗ１４の連関度を２点に設定している。
【０１３５】
また、この連関度は、人工知能における機械学習を通じて学習させるためのニューラルネットワークのノードで構成されるものであってもよい。即ち、このニューラルネットワークのノードが出力に対する重み付け係数が、上述した連関度に対応することとなる。またニューラルネットワークに限らず、人工知能を構成するあらゆる意思決定因子で構成されるものであってもよい。
【０１３６】
かかる場合には、図１０に示すように、入力データとして指示動作が入力され、出力データとしてアクション決定情報（意味）が出力され、入力ノードと出力ノードの間に少なくとも１以上の隠れ層が設けられ、機械学習させるようにしてもよい。入力ノード又は隠れ層ノードの何れか一方又は両方において上述した連関度が設定され、これが各ノードの重み付けとなり、これに基づいて出力の選択が行われる。そして、この連関度がある閾値を超えた場合に、その出力を選択するようにしてもよい。
【０１３７】
このような連関度が、人工知能でいうところの学習済みデータとなる。このような学習済みデータを作った後に、実際にこれから新たに指示動作からアクション決定情報の探索を行うこととなる。かかる場合には、正しいインテントを割り当てられていない指示動作について、これに見合うアクション決定情報を探索する。かかる場合には、予め取得した図９（表１）に示す連関度を参照する。例えば、新たに取得した指示動作がＰ０１と同一かこれに類似するものである場合には、連関度を介して「販売」がｗ１３、「要否」が連関度ｗ１４で関連付けられている。かかる場合には、連関度の最も高い「販売」を最適解として選択する。但し、最も連関度の高いものを最適解として選択することは必須ではなく、連関度は低いものの連関性そのものは認められる「要否」を最適解として選択するようにしてもよい。また、これ以外に矢印が繋がっていない出力解を選択してもよいことは勿論であり、連関度に基づくものであれば、その他いかなる優先順位で選択されるものであってもよい。
【０１３８】
このときインテント知識ＤＢ５２に類義語辞書を格納しておくようにしてもよい。類義語辞書とは、類義語に関する辞書である。類義語辞書には、インテント知識ＤＢ５２に格納されている１以上の各指示動作と、当該指示動作の１または２以上の類義語とが登録されている。具体的には、例えば、指示動作「売れる」に対応付けて、「直販」、「売れ行き」などが登録されていてもよい。そして、この類義語辞書を介して、新たに取得した指示動作が参照用の指示動作と類似するか否かを判別することができる。仮に参照用の指示動作が「売れ行き」である場合において、新たに取得した指示動作が「売れる」である場合、類義語辞書において類似するものとして予め登録されていることから「販売」に対応するものと判断することが可能となる。
【０１３９】
このような連関度を参照することにより、テキストデータから抽出した指示動作がいかなるアクション決定情報に該当するものであるのかを精度良く判別することができる。
【０１４０】
上述のようなステップＳ１７におけるインテントの自動生成処理が終了した場合には、ステップＳ１９へ移行する。
【０１４１】
ステップＳ１９に移行した場合には、コーパスの自動生成を行う。かかる場合には、ステップＳ１１において入力されたテキストデータを、エンティティ及びインテントからなるコーパス決定情報と対応させてコーパス知識ＤＢ５３に格納する。このコーパス決定情報を構成するエンティティとは、ステップＳ１５においてエンティティ格納部１５に格納されたエンティティであってもよい。また、このコーパス決定情報を構成するインテントとは、ステップＳ１７においてインテント格納部１２に格納されたインテントであってもよい。
【０１４２】
また、エンティティが正しく割り当てられている場合には、その正しく割り当てられたエンティティでコーパス決定情報を構成するようにしてもよい。同様にインテントが正しく割り当てられている場合には、その正しく割り当てられたインテントでコーパス決定情報を構成するようにしてもよい。
【０１４３】
例えば、ステップＳ１１において入力されたテキストデータが「今日は雨なので傘がよく売れるでしょう」であれば、そのテキストデータと、当該テキストデータから登録され、或いは割り当てられたエンティティとインテントとして｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝がコーパス決定情報としてコーパス知識ＤＢ５３に格納される。
【０１４４】
次に、コーパス知識ＤＢ５３にコーパス決定情報と紐づけて格納したテキストデータ「今日は雨なので傘がよく売れるでしょう」を、コーパスとして、インテント格納部１２に格納する。即ち、コーパス知識ＤＢ５３にコーパス決定情報と紐づけて格納したテキストデータをそのままコーパスとして生成する。図６（ｂ）は、インテント格納部１２に格納されるコーパスの例を示している。インテント格納部１２のＮｏ．１において、コーパス知識ＤＢ５３にコーパス決定情報と紐づけて格納したテキストデータ「今日は雨なので傘がよく売れるでしょう」がコーパスとして格納されているのが分かる。
【０１４５】
なお、コーパス知識ＤＢ５３は、コーパス決定情報に基づいて、コーパス決定情報としてのエンティティ及びインテントに基づいて、格納したテキストデータと同義となる他のテキストデータを生成し、これを当該コーパス決定情報と対応させて格納するようにしてもよい。ここでいう同義となる他のテキストデータとは、格納したテキストデータと同一又は類似の意味を持つテキストデータである。図４の例によれば、格納したテキストデータ「今日は雨なので傘がよく売れるでしょう」に対して同義となる他のテキストデータの例として「今日は傘がよく売れるでしょう。雨なので」が挙げられる。この同義となる他のテキストデータは、今日、傘、雨等の単語の順序が変わっているだけで意味としては同義である。この同義となる他のテキストデータについても、コーパス決定情報としてのエンティティやインテントは、｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝であり、このエンティティやインテントの順序を入れ替えるのみで、他のテキストデータを順次生成するようにしてもよい。この生成した他のテキストデータは、コーパス知識ＤＢ５３において、当該コーパス決定情報と対応させて格納する。
【０１４６】
このとき、他のテキストデータを生成する上で、各エンティティに紐づけられた単語を、エンティティ知識ＤＢ５１や、エンティティ格納部１５から読み出して生成するようにしてもよい。同様に、他のテキストデータを生成する上で、各インテントに紐づけられた指示動作を、インテント知識ＤＢ５２や、インテント格納部１５から読み出して生成するようにしてもよい。これにより、｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝等のエンティティやインテントに紐づけられた単語や指示動作から、様々なテキストデータを作り出すことが可能となる。｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう販売｝等のエンティティやインテントと紐付けられた既に格納されているテキストデータの単語や指示動作を抽出しその順序を入れ替えることで、これと同義の他のテキストデータを生成するようにしてもよい。
【０１４７】
なお、他のテキストデータを生成する上では、エンティティやインテントの順序を入れ替える上で、またエンティティに紐づけられた単語や、インテントに紐づけられた指示動作を入れ替える上では、公知のテキスト生成技術、公知のアルゴリズムを利用して行うようにしてもよい。このようなアルゴリズム等もコーパス知識ＤＢ５３に格納しておくことにより、他のテキストデータを生成することができる。このようにして新たに生成された他のテキストデータは、同様にインテント格納部１２においてコーパスとして登録される。
【０１４８】
コーパス知識ＤＢ５３は、格納したテキストデータと同義となる他のテキストデータを生成することは必須ではなく、実際に他のテキストデータを生成しなくてもよい。かかる場合において、取得した新たなテキストデータからエンティティ格納部１５に登録したエンティティ、インテント格納部１２に登録したインテントが、既にコーパス知識ＤＢ５３に登録されているコーパス決定情報としてのエンティティやインテントと適合する場合には、コーパス知識ＤＢ５３は、当該コーパス決定情報と対応させて新たなテキストデータを格納するようにしてもよい。
【０１４９】
例えば、図４に示すNo.1のテキストデータとして「今日は雨なので傘がよく売れるでしょう」のみがコーパス決定情報としての｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝と関連付けて格納されているものとする。このとき、新たに「今日は傘がよく売れるでしょう。雨なので」というテキストデータが入力されるものとする。このテキストデータから登録された、又は割り当てられたエンティティ、インテントも｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝であるから、コーパス決定情報と適合する。このため、コーパス知識ＤＢ５３は、このコーパス決定情報｛日付｝｛雨具｝｛天候｝｛今日は雨なので傘がよく売れるでしょう｝と対応させて、この新たに入力されたテキストデータ「今日は傘がよく売れるでしょう。雨なので」をNo.2に格納する。コーパス知識ＤＢ５３に格納されたテキストデータは、コーパスとしてインテント格納部１２に登録する。
【０１５０】
なお、コーパス決定情報が適合しているか否かの判断は、コーパス決定情報としてのエンティティ、インテントが同一である場合のみならず、類似の場合も適合しているものと判断するようにしてもよい。
【０１５１】
一方、コーパス決定情報が適合していない場合は、新たに入力されたテキストデータとこれについて登録された、又は割り当てられたエンティティやインテントと対応させて、別途コーパス知識ＤＢ５３に格納する。例えば、「昨日は暖かかったので花粉が沢山飛んでいた。」というテキストデータを取得した場合には、それから登録されるエンティティやインテントは、図４に示すコーパス決定情報と明らかに相違するため、新たにそのテキストデータを、これに基づくエンティティやインテントを新たなコーパス決定情報として対応付けて格納する。コーパス知識ＤＢ５３に格納されたテキストデータは、コーパスとしてインテント格納部１２に登録する。
【０１５２】
次にステップＳ２１へ移行し、テキストデータから特定した、エンティティ、インテント、コーパスを入力することで学習させる。このステップＳ２１において学習させるのはニューラルネットワーク（ディープラーニング）で、新たに特定したエンティティ、インテント、コーパスを入力することで、これらに基づいて生成されるべきテキストデータを出力する。即ち、ステップＳ２１において学習させるニューラルネットワークは入力がエンティティ、インテント、コーパスであり、出力がテキストデータである。これらのデータセットを順次学習させる。
【０１５３】
次にステップＳ２１における自然言語解析処理の結果を出力する。その結果、ステップＳ２２において、正しく言語解析ができる場合には、ステップＳ２３へ移行し、正しく言語解析ができない場合には、ステップＳ１１へ戻る。
【０１５４】
なお、ステップＳ２０〜Ｓ２２の処理動作は省略するようにしてもよい。
【０１５５】
このようにして、新たなテキストデータを取得する都度、正しく解析ができない単語、指示動作、コーパスが存在していた場合には、これらに最も関係の深いエンティティ、インテント、コーパスを割り当てることが可能となる。
【０１５６】
これら新たに登録されたエンティティは、エンティティ格納部１５に、インテントは、インテント格納部１２に、コーパスはインテント格納部１２に保存される。このため、これらにアクセスすることで（ステップＳ２３）、新たにテキストデータを取得した場合、これに含まれるエンティティをパラメータ化し、或いは会話文に対応する、処理動作を特定するアクション名およびウェブフックを有するインテントを決定し、更にこれらエンティティやインテント等により特定される処理動作を実行するための情報をパラメータとしたＡＰＩを介してデータベースを検索することも可能となる。
【０１５７】
このように、本発明では、テキストデータを取得した際に、これに対応するエンティティやインテント、コーパスが予め登録されていない場合には、より最適なエンティティやインテント、コーパスを人手を介することなく自動的に探索して割り当てることができる。このため、エンティティやインテント、コーパスを登録するために必要な作業の負担の軽減を図ることができ、作業時間を大幅に減らすことが可能となる。
【０１５８】
また、本発明によれば、データベース内にあるデータ、メール文章、ドキュメントファイル等があればこれに順次アクセスすることにより、テキストデータを連続して抽出することができ、この抽出したテキストデータに対して最適なエンティティやインテントを自動的に探索して割り当てることができる。このため、エンティティ格納部１５、インテント格納部１２、インテント格納部１２には、自然にエンティティやインテント等が蓄積されてくることとなる。その結果、データベース内にあるデータ、メール文章、ドキュメントファイル等にアクセスするのみで、エンティティ格納部１５、インテント格納部１２、インテント格納部１２にエンティティやインテント等を膨大な量にわたり蓄積することが可能となる。
【符号の説明】
【０１５９】
１  格納部
２  受付部
３  処理部
４  出力部
１１  テーブル格納部
１２  インテント格納部
１３  情報格納部
１５  エンティティ格納部
１６  エンティティマッピング情報格納部
１７  ＰＫ項目格納部
２１  会話文受付手段
３０  パラメータ化手段
３１  インテント決定手段
３２  会話文情報決定手段
３３  エンティティ取得部
３４  パラメータ取得部
３５  情報取得手段
３６  問合情報構成部
３７  検索結果取得手段
４１  検索結果出力手段
５１  エンティティ知識ＤＢ
５２  インテント知識ＤＢ
５３  コーパス知識ＤＢ
１００  エンティティ自動生成装置
２１１  音声受付手段
２１２  音声認識手段
２１３  文字列受付手段
３４１  判断手段
３４３  エンティティ名取得手段
３４４  翻訳項目名取得手段
３４５  テーブル識別子取得手段
３４６  主キー識別子取得手段
３４７  変換パラメータ取得手段
【要約】
【課題】会話文に含まれる単語や指示動作につき、未だエンティティやインテント、ひいてはコーパスとして登録されていないものについて、自動的に登録を行う。
【解決手段】取得したテキストデータを自然言語解析することにより、指示動作と、これに係り受けする少なくとも単語を抽出し、単語と意味とが互いに関連付けられたエンティティ知識データベースを参照し、抽出した単語と関連する意味を探索し、探索した意味を上記単語のエンティティとして登録し、少なくとも指示動作と意味とが互いに関連付けられたインテント知識データベースを参照し、抽出した指示動作と関連する意味を探索し、探索した意味を上記指示動作のインテントとして登録し、登録したエンティティと、上記インテント登録ステップにおいて登録したインテントに基づいて、コーパスを生成する。
【選択図】図５【図１】
0006954549.tif 000003
【図２】
0006954549.tif 000004
【図３】
0006954549.tif 000005
【図４】
0006954549.tif 000006
【図５】
0006954549.tif 000007
【図６】
0006954549.tif 000008
【図７】
0006954549.tif 000009
【図８】
0006954549.tif 000010
【図９】
0006954549.tif 000011
【図１０】
0006954549.tif 000012