(57)【要約】      （修正有）【課題】自然語句生成の柔軟性を高め、人的作業量を減らし、かつ言語生成結果の正確性を高めるための自然言語の生成方法、自然言語の生成装置及び電子機器を提供する。【解決手段】直接コーパスから文型テンプレートを抽出し、後続して生成される自然語句の文型の正確性を保証し、かつ、文型テンプレートの抽出に際し、入力モードのうちあらかじめ定義した語句の構成成分を削除するだけで、多くの人的作業を回避する。また、入力語義と文型テンプレートとの間のマッチング度に基づいて候補文型テンプレートを選び、生成される自然語句の正確性を高める。【選択図】図１
2018073411.tif 000002
【特許請求の範囲】
【請求項１】
コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、
前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、
を含むことを特徴とする自然言語の生成方法。
【請求項２】
予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップの後に、
各二つの文型テンプレート間の類似度を計算するステップ、をさらに含み、
前記入力語義と文型テンプレートとの間のマッチング度を計算する際に、マッチング度を計算するための現在の文型テンプレートと他の文型テンプレートとの間の類似度に基づき、前記マッチング度を計算するための次の文型テンプレートを決定することを特徴とする請求項１に記載の自然言語の生成方法。
【請求項３】
前記各二つの文型テンプレートの間の類似度を計算するステップは、
以下の公式に基づき、各二つの文型テンプレートの間の類似度Sim(p1,p2)を計算すること、を含み、
【数１】
2018073411.tif 000016
このうち、
【数２】
2018073411.tif 000017
wはサブ語義に対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二文型テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおける文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、nはT(p,s)の単語数を示し、θwは単語wの予め設定された重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、T(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外１）
2018073411.tif 000018
は文型テンプレート中の全ての充填位置sに対応するY値に対して加算を行うことを示すことを特徴とする請求項２に記載の自然言語の生成方法。
【請求項４】
前記入力語義と文型テンプレートとの間のマッチング度を計算するステップは、
前記入力語義における各サブ語義に対し、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスにおける該充填位置に充填できる単語の第一集合を決定するステップと、
該サブ語義と第一集合における各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子を計算するステップであって、前記マッチング因子と前記コサイン類似度は正の相関を有する、ステップと、
各サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度を計算するステップと、
を含むことを特徴とする請求項１から３のいずれか一項に記載の自然言語の生成方法。
【請求項５】
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップは、
前記入力語義及び／又は変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を取得するステップであって、前記変換語義と前記入力語義の語義近似度は予め設定された閾値よりも高い、ステップと、
前記候補自然語句における各充填位置のサブ語義により構成された充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、前記マッチング度に基づき、マッチング度が所定しきい値に達した自然語句を選別するステップと、
を含むことを特徴とする請求項１に記載の自然言語の生成方法。
【請求項６】
コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するテンプレート取得モジュールと、
前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するテンプレート選択モジュールと、
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成する語句生成モジュールと、
を含むことを特徴とする自然言語の生成装置。
【請求項７】
前記テンプレート取得モジュールにより予め定義された入力モードにマッチした少なくとも一つの文型テンプレートが生成された後に、各二つの文型テンプレート間の類似度を計算する類似度計算モジュール、をさらに含み、
前記テンプレート選択モジュールは、前記入力語義と文型テンプレートとの間のマッチング度を計算する際に、マッチング度を計算するための現在の文型テンプレートと他の文型テンプレートとの間の類似度に基づき、前記マッチング度を計算するための次の文型テンプレートを決定することを特徴とする請求項６に記載の自然言語の生成装置。
【請求項８】
前記類似度計算モジュールは、
以下の公式に基づき、各二つの文型テンプレート間の類似度Sim(p1,p2)を計算し、
【数３】
2018073411.tif 000019
このうち、
【数４】
2018073411.tif 000020
wはサブ語義に対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二文型テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおける文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、nはT(p,s)の単語数を示し、θwは単語wの予め設定された重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、T(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外２）
2018073411.tif 000021
は文型テンプレート中の全ての充填位置sに対応するY値に対して加算を行うことを示すことを特徴とする請求項７に記載の自然言語の生成装置。
【請求項９】
前記テンプレート選択モジュールは、
前記入力語義における各サブ語義に対し、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスにおける該充填位置に充填できる単語の第一集合を決定し、
該サブ語義と第一集合における各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子を計算し取得し、前記マッチング因子と前記コサイン類似度は正の相関を有し、
各サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度を計算することを特徴とする請求項６から８のいずれか一項に記載の自然言語の生成装置。
【請求項１０】
前記語句生成モジュールは、
前記入力語義及び／又は変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を取得し、前記変換語義と前記入力語義の語義類似度は予め設定された閾値よりも高く、
前記候補自然語句における各充填位置のサブ語義により構成された充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、前記マッチング度に基づき、マッチング度が所定のしきい値に達した自然語句を選別することを特徴とする請求項６に記載の自然言語の生成装置。
【請求項１１】
プロセッサーと、
コンピュータプログラム命令が記憶されているメモリと、を含む電子機器であって、
前記コンピュータプログラム命令が前記プロセッサーにより実行される時に、
コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、
前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、を前記プロセッサーに実行させることを特徴とする電子機器。
【請求項１２】
コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、
前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、をコンピュータに実行させるための自然言語の生成プログラム。
【請求項１３】
コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、
前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、
前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、をコンピュータに実行させるための自然言語の生成プログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は自然言語処理の技術分野に関し、具体的には自然言語の生成方法、自然言語の生成装置及び電子機器に関する。
【背景技術】
【０００２】
人工知能の発展に伴い、人と機械の対話等の知能システムの応用範囲が広がるなか、擬人化出力のニーズ、すなわち自然言語の直接出力に対するニーズがますます高くなっている。従来技術による自然言語の生成および出力の実現方法は、１）あらかじめ定義した言語モデルを通じて自然語句を生成する方法、２）人工定義したテンプレートを通じて自然語句を生成する方法、を含む。
【０００３】
上記二種類の方法は実際の応用過程においてそれぞれ一定の問題がある。例えば、第１種の実現方法では、数学モデルで自然言語の語法とロジック関係を上手く表現するのは難しい。よって、生成した言語の正確性を保証するのは難しい。第２種は人工テンプレートに基づく方法では、通常、特定分野または単一用途にしか応用できないため、柔軟性に欠け、かつ大量の人的作業が必要となる。
【０００４】
よって、方法の実現に向けた柔軟性を高め、人的作業量を減らし、かつ言語の生成結果の正確性を高められる自然言語の生成方法が早急に必要である。
【発明の概要】
【発明が解決しようとする課題】
【０００５】
本発明の実施例が解決しようとする技術課題は、自然語句生成の柔軟性を高め、人的作業量を減らし、かつ言語生成結果の正確性を高めるための自然言語の生成方法、自然言語の生成装置及び電子機器を提供することである。
【課題を解決するための手段】
【０００６】
上記技術課題を解決するため、本発明の実施例は、コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、を含むことを特徴とする自然言語の生成方法を提供する。
【０００７】
この中で、上記方法において、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップの後に、各二つの文型テンプレート間の類似度を計算するステップ、をさらに含み、前記入力語義と文型テンプレートとの間のマッチング度を計算する際に、マッチング度を計算するための現在の文型テンプレートと他の文型テンプレートとの間の類似度に基づき、前記マッチング度を計算するための次の文型テンプレートを決定する。
【０００８】
この中で、上記方法において、前記各二つの文型テンプレートの間の類似度を計算するステップは、以下の公式に基づき、各二つの文型テンプレートの間の類似度Sim(p1,p2)を計算すること、を含み、
【数１】
2018073411.tif 000003
このうち、
【数２】
2018073411.tif 000004
wはサブ語義が対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおける文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、nはT(p,s)の単語数を示し、θwは単語wの予め設定された重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、T(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外１）
2018073411.tif 000005
は文型テンプレート中の全ての充填位置sに対応するY値に対して加算を行うことを示す。
【０００９】
この中で、上記方法において、前記入力語義と文型テンプレートとの間のマッチング度を計算するステップは、前記入力語義における各サブ語義に対し、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスにおける該充填位置に充填できる単語の第一集合を決定するステップと、該サブ語義と第一集合における各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子を計算するステップであって、前記マッチング因子と前記コサイン類似度は正の相関を有する、ステップと、各サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度を計算するステップと、を含む。
【００１０】
この中で、上記方法において、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップは、前記入力語義及び／又は変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を取得するステップであって、前記変換語義と前記入力語義の語義近似度は予め設定された閾値よりも高い、ステップと、前記候補自然語句における各充填位置のサブ語義により構成された充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、前記マッチング度に基づき、マッチング度が所定しきい値に達した自然語句を選別するステップと、を含む。
【００１１】
本発明の実施例は、コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するテンプレート取得モジュールと、前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するテンプレート選択モジュールと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成する語句生成モジュールと、を含むことを特徴とする自然言語の生成装置をさらに提供する。
【００１２】
ここで、上記装置は、前記テンプレート取得モジュールにより予め定義された入力モードにマッチした少なくとも一つの文型テンプレートが生成された後に、各二つの文型テンプレート間の類似度を計算する類似度計算モジュール、をさらに含み、前記テンプレート選択モジュールは、前記入力語義と文型テンプレートとの間のマッチング度を計算する際に、マッチング度を計算するための現在の文型テンプレートと他の文型テンプレートとの間の類似度に基づき、前記マッチング度を計算するための次の文型テンプレートを決定する。
【００１３】
この中で、上記装置において、前記類似度の計算モジュールは、以下の公式に基づき、各二つの文型テンプレート間の類似度Sim(p1,p2)をそれぞれ計算し、
【数３】
2018073411.tif 000006
このうち、
【数４】
2018073411.tif 000007
wはサブ語義に対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二文型テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおける文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、nはT(p,s)の単語数を示し、θwは単語wの予め設定された重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、T(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外２）
2018073411.tif 000008
は文型テンプレート中の全ての充填位置sに対応するY値に対して加算を行うことを示す。
【００１４】
この中で、上記装置において、前記テンプレート選択モジュールは、前記入力語義における各サブ語義に対し、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスにおける該充填位置に充填できる単語の第一集合を決定し、該サブ語義と第一集合における各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子を計算し取得し、前記マッチング因子と前記コサイン類似度は正の相関を有し、各サブ語義と文型テンプレートにおける対応する充填位置とのマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度を計算する。
【００１５】
このうち、上記装置において、前記語句生成モジュールは、前記入力語義及び／又は変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を取得し、前記変換語義と前記入力語義の語義類似度は予め設定された閾値よりも高く、前記候補自然語句における各充填位置のサブ語義により構成された充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、前記マッチング度に基づき、マッチング度が所定のしきい値に達した自然語句を選別する。
【００１６】
本発明の実施例は、プロセッサーと、コンピュータプログラム命令が記憶されているメモリと、を含む電子機器であって、前記コンピュータプログラム命令が前記プロセッサーにより実行される時に、コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、を前記プロセッサーに実行させることを特徴とする電子機器をさらに提供する。
【発明の効果】
【００１７】
従来技術と比較して、本発明の実施例が提供する自然言語の生成方法、自然言語の生成装置及び電子機器は、少なくとも以下の有益な効果がある。本発明の実施例は直接コーパスから文型テンプレートを抽出し、後続して生成される自然語句の文型の正確性を保証し、かつ、文型テンプレートの抽出に際し、入力モードのうちあらかじめ定義した語句の構成部分を削除するだけで、多くの人的作業を回避する。また、本発明の実施例は入力語義と文型テンプレートとの間のマッチング度に基づき候補文型テンプレートを選び、生成される自然語句の正確性を高め、さらに、本発明の実施例は、マッチング度を通し生成された自然語句に対してフィルタリングを行うことで、取得した自然語句の正確性と多様性を両立できる。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施例１に係る自然言語の生成方法のフローチャートである。
【図２】本発明の実施例２に係る自然言語の生成方法のフローチャートである。
【図３】本発明の実施例３に係る自然言語生成装置の構造図である。
【図４】本発明の実施例３に係るもう一つの自然言語生成装置の構造図である。
【図５】本発明の実施例に係る電子機器の構造図である。
【発明を実施するための形態】
【００１９】
本発明の実施例が解決しようとする技術課題、技術方案および優れた点をより明確にさせるために、下記の説明において、例えば具体的な配置およびコンポーネントの特定の細部を提供するのは、単に本発明の実施例に対する全面的な理解を助けるためである。よって、当業者であれば、ここに説明する実施例に対し、本発明の範囲と精神から逸脱しない場合に各種改変と修正を行うことが可能だと分かるはずである。このほか、明確で簡潔にするため、既知の機能と構造に対する説明は省略する。
【００２０】
明細書全文を通じて述べられる「一つの実施例」または「一実施例」は、実施例に関連する特定の特徴、構造または特性が、本発明の少なくとも一つの実施例の中に含まれることを意味すると理解されたい。よって、要約書全編の各所に出現する「一つの実施例において」「一実施例において」は、必ずしも同じ実施例を指すとは限らない。このほか、これら特定の特徴、構造または特性は、任意の適合する方法で一つまたは多くの実施例において結びつけることができる。
【００２１】
本発明の各種実施例において、下記各過程の通し番号の大きさは実行順序の前後を意味するものではなく、各過程の実行順序はその機能と内在的なロジックにより決定されるのであって、本発明の実施例の実施過程に対しいかなる限定も構成してはならないことを理解されたい。本文中の用語「および/または」は、単なる関連対象の関連関係の説明であり、三種類の関係が存在し得ることを示すことを理解されたい。例えば、Aおよび/またはBは、Aが単独で存在する、AとBが同時に存在する、Bが単独で存在する、の三種類の状況を示すことができる。このほか、本文中の符号「/」は、一般的に前と後の関連対象が「または」の関係にあることを示す。本明細書が提供する実施例において、「Aと対応するB」はBとAが互いに関連し、Aに基づきBを決定できることを示すと理解されたい。ただし、Aに基づくBの決定は単にAに基づくBの決定のみを意味するのではなく、Aおよび/またはその他情報に基づきBを決定してもよいことも理解されたい。
【００２２】
まず、本発明の以下の各実施例において係る関連概念に対して説明する。
【００２３】
本発明実施例において、入力モードは入力する単語の分類を指し、具体的には、前記分類は名詞、動詞、形容詞、数詞、助数詞、副詞、代詞、接続詞、介詞、助詞、語気助詞等を含むことができ、例えば、入力モードを、一つの名詞と一つの動詞としてよい。また前記入力モードでは、入力する単語が文法構造上の構成部分であってもよいし、作用を受け持つものであってもよい。具体的には、前記構成部分は主語、述語、目的語、連体修飾語、連用修飾語、補語等であってもよい。つまり、入力モードが入力する単語の語句中における構成成分を定義する。
【００２４】
入力語義とは入力する単語または単語ベクトル（単語のもう一種の表現形式）を指す。一つの入力語義中に多くの単語または単語ベクトルを含むことができるため、本文では入力語義の中の各単語または単語ベクトルをサブ語義という。例えば、入力語義が、「京東」と「一号店」の場合、「京東」と「一号店」をまとめて一つの入力語義とし、「京東」と「一号店」のそれぞれを上記入力語義中の一つのサブ語義として区別する。
【００２５】
文型テンプレートとは、語句から入力モードで定義した文の成分を除去した後に得られるテンプレートである。例えば、語句「我々は市場で服を買う」に対し、あらかじめ定義した入力モードを主語と述語にした場合は、上記語句から主語「我々」と述語「買う」を削除した後、得られる文型テンプレートは［主語］市場で［述語］服、となる。つまり、［］の中の部分は、入力モードで定義した構成成分が語句の中で占める充填位置となり、該充填位置の成分は削除される。後続して自然語句を生成する場合は、上記入力モードに合致する入力語義の中の各サブ語義を、対応する充填位置に充填すれば、自然言語の語句（自然語句）を得ることができる。例えば、入力語義が「王さん」と「売る」である場合、上記文型テンプレートに充填した後、王さんは市場で服を売る、という語句を得ることができる。
【００２６】
次に、図面および具体的な実施例を参照しながら本発明に対する詳細な説明を行う。
＜実施例一＞
図１に示すように、本発明の実施例一は、自然言語の生成方法を提供し、該方法は人と機械の対話システムまたは画像記述生成システム等の環境に応用することができる。図１を参照に、該方法は以下のステップを含む。
【００２７】
ステップ11では、コーパスの語句に基づき、あらかじめ定義した入力モードにマッチする少なくとも一つの文型テンプレートを生成する。
【００２８】
本発明の実施例は、あらかじめ設定したコーパスの語句より、直接該語句から前記入力モードで定義した語句の構成成分を削除して、文型テンプレートを得る。文型テンプレート中の、削除した構成成分の位置の場所を空にしておき、充填位置とし、入力語義の中で対応する単語を後続して充填するときに用いる。コーパスには通常大量の語句が保存されており、多くの語句が上記入力モードと相互にマッチする可能性があるため、これらマッチする語句に対応して、多くの文型テンプレートを抽出することができる。
【００２９】
ここでは、前記入力モードはユーザーが定義または決定する入力モードであってもよいし、システムが生成した入力モードであってもよい。例えば、画像記述生成システムは画像内容を識別し、かつ自然言語を用いてそれを記述することもできる。このとき、入力モードは該システムが画像内容を識別した後生成した入力モードであってもよい。
【００３０】
ステップ12では、前記入力モードに基づき入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たす少なくとも一つの候補文型テンプレートを選出する。
【００３１】
ステップ12において、入力語義と文型テンプレートのマッチング度を計算し、さらに、マッチング度が所定条件を満たす文型テンプレートを選出し、候補文型テンプレートとする。前記所定条件はシーンの必要性または計算量等の要素に基づき設置してよい、例えばマッチング度があらかじめ設定した数値のしきい値を超える文型テンプレートであってもよいし、マッチング度が最も高いN個の文型テンプレートであってもよく、ここでNとは一個の正の整数である。同様に、入力語義はユーザーが入力する語義でもよいし、あるシステムが自ら生み出した語義、例えば前記文中で取り上げた画像記述生成システムが生成した語義でもよい。
【００３２】
上記ステップ12において、入力語義と文型テンプレートのマッチング度を計算する時、具体的には以下の方式で計算できる。
【００３３】
ステップ121では、前記入力語義中の各サブ語義に対して、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスの中で該充填位置に充填できる単語の第一集合を決定し、並びに、該サブ語義と第一集合にある各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレート中で充填位置が対応するマッチング因子を計算し取得するが、このとき、前記マッチング因子と前記コサイン類似度は正の相関である。
【００３４】
上記ステップ121において、前記コーパスの中で該充填位置に充填できる単語の第一集合を決定する時、前記コーパスの中で前記文型テンプレートとマッチする語句で該充填位置にある単語に基づき、第一集合の単語を決定かつ取得することができる。その後に、該サブ語義と第一集合の各単語との間のコサイン類似度を計算するが、最良の計算方式は、サブ語義が対応する単語ベクトルと、第一集合の各単語が対応する単語ベクトルとの間のコサイン類似度（コサイン距離）を計算することであり、さらに該コサイン類似度に基づき上記マッチング因子を計算し、マッチング因子と上記コサイン類似度が正の相関である、すなわちコサイン類似度が高いほど、マッチング因子の値は大きくなり、両者はよりマッチする。逆に、コサイン類似度が低いほど、マッチング因子の値は小さくなり、両者はよりノンマッチになる。以下にマッチング因子の計算方式を提供するが、本発明の実施例がこれに限らないことに注意されたい。
【数５】
2018073411.tif 000009
【００３５】
上記公式(1)において、wはサブ語義が対応する単語を示し、sは文型テンプレートp中の一つの充填位置を示し、AM(p,s,w)は単語wと文型テンプレートp中の充填位置sのマッチング因子を示し、θwは単語wにあらかじめ設定した重み付け係数を示し、T(p,s)はコーパスにおいてテンプレートpの充填位置sに充填できる単語の集合を示し、nはT(p,s)の単語数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示す。
【００３６】
ステップ122では、各サブ語義と文型テンプレート中で充填位置が対応するマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度を計算する。
【００３７】
前記ステップ122において、各サブ語義と文型テンプレート中で充填位置が対応するマッチング因子の平均値を計算し、該平均値を前記入力語義と文型テンプレートとの間のマッチング度としてもよいし、全てのサブ語義と文型テンプレート中で充填位置が対応するマッチング因子との和の値を計算し、該和の値を前記入力語義と文型テンプレートとの間のマッチング度にしてもよい。
【００３８】
ステップ13では、前記入力語義と前記候補文型テンプレートに基づき、自然言語を生成する。
【００３９】
前記ステップ13において、自然語句を取得する方法は以下の通りである。候補文型テンプレートを選出した後、入力語義の単語を候補文型テンプレートの中で対応する充填位置に充填し、自然語句を取得することができる。
【００４０】
自然語句の多様性を取得するための、上記ステップ13の実現方式は、前記入力語義との語義類似度があらかじめ設定した閾値より高い変換語義を幾つか決定し、その後、前記入力語義および/または変換語義の単語を、前記候補文型テンプレートの中で対応する位置に充填し、さらに多様性のある自然語句を取得する。ここで語義類似度は単語ベクトル間のコサイン類似度に基づき計算できる。
【００４１】
取得した自然語句の正確性と多様性のバランスをとるため、上記ステップ13の実現方式は、前記入力語義および/または変換語義の単語を、前記候補文型テンプレートの中で対応する位置に充填し、候補自然語句を得る。前記候補自然語句の各充填位置にあるサブ語義が構成する充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、かつ前記マッチング度に基づき、マッチング度が所定しきい値に達する自然語句を選別する。ここでマッチング度の計算方式は、上記ステップ121〜122の実現を参考にできるため、説明を省略する。
【００４２】
以上のステップを経て、本発明の実施例は直接コーパスから文型テンプレートを抽出し、後続して生成される自然語句の文型の正確性を保証し、かつ、文型テンプレートの抽出に際し、入力モードのうちあらかじめ定義した語句の構成成分を削除するだけで、多くの人的作業を回避する。また、本発明の実施例は入力語義と文型テンプレートとの間のマッチング度に基づき候補文型テンプレートを選び、生成される自然語句の正確性を高め、さらに、本発明の実施例はマッチング度を通し生成された自然語句に対してフィルタリングを行うことで、取得した自然語句の正確性と多様性を両立できる。
＜実施例二＞
図2に示すように、本発明の実施例二が提供する自然言語の生成方法は、候補文型テンプレートを後続して選択する効率を向上させるため、文型テンプレートを取得した後、さらに各二つの文型テンプレート間の類似度を計算し、その上で文型テンプレート間の類似度を利用することで、後続する候補文型テンプレートの選択効率を向上させる。図２を参照に、該方法は以下のステップを含む。
【００４３】
ステップ21では、コーパスの語句に基づき、あらかじめ定義した入力モードにマッチする少なくとも一つの文型テンプレートを生成する。
【００４４】
ここで、文型テンプレート生成の具体的実現には実施例一を参考にできるため、説明を省略する。
【００４５】
ステップ22では、前記の少なくとも一つの文型テンプレートにおける各二つの文型テンプレート間の類似度を計算する。
【００４６】
ここで、上記ステップ22において、以下の公式によって各二つの文型テンプレート間の類似度Sim(p1,p2)を計算できる。
【数６】
2018073411.tif 000010
このうち、
【数７】
2018073411.tif 000011
【００４７】
上記公式において、wはサブ語義が対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二文型テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおいて文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、AM(p,s,w)は単語wと文型テンプレートp中の充填位置sのマッチング因子を示し、nはT(p,s)の単語数を示し、θwは単語wにあらかじめ設定した重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外３）
2018073411.tif 000012
は文型テンプレート中の全ての充填位置sが対応するY値に対して行う加算を示す。
【００４８】
ステップ23では、前記入力モードに基づき入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たす少なくとも一つの候補文型テンプレートを選出し、このうち、マッチング度の計算過程において、文型テンプレート間の類似度に基づき、前記マッチング度を計算する次の文型テンプレートを決定する。
【００４９】
ここで、上記ステップ23において、前記入力語義と文型テンプレートとの間のマッチング度を計算する過程において、現在マッチング度を計算している文型テンプレートとその他文型テンプレートとの間の類似度に基づき、前記マッチング度を計算する次の文型テンプレートを決定することによって、候補文型テンプレートを選択する効率を向上させる。
【００５０】
例えば、まずステップ21より得た前記少なくとも一つの文型テンプレートから一つの文型テンプレートを選出し、現在の文型テンプレートとし、その後、前記入力語義と現在の文型テンプレートとの間のマッチング度を計算し、もしマッチング度があらかじめ設定した第一しきい値に達しない場合は、前記少なくとも一つの文型テンプレートで余った文型テンプレートの中から一つ文型テンプレートを選出し、前記マッチング度を計算する次の文型テンプレートとする。もしマッチング度があらかじめ設定した第一しきい値に達する場合は、文型テンプレート間の類似度に基づき、現在の文型テンプレートとの類似度があらかじめ設定した第二しきい値を超える計算待ち文型テンプレートを選出し、前記マッチング度を計算する次の文型テンプレートとする。前記少なくとも一つの文型テンプレート中の余った文型テンプレートの数量が0であるとき、或いは、前記入力語義とのマッチング度があらかじめ設定した閾値に達する文型テンプレートの数量が所定数量に達した場合は、マッチング度の計算過程を終了し、かつ計算し取得した前記入力語義と各文型テンプレートとの間のマッチング度に基づき、前記所定条件を満たす少なくとも一つの候補文型テンプレートを選出してよい。
【００５１】
なお、上記に挙げた例は候補文型テンプレートの選出過程を加速させるための一つの例にすぎず、本発明の実施例は文型テンプレート間の類似度に基づき、そのほかの算出方法を採用し、選択効率を向上させてもよい。
【００５２】
前記入力語義と文型テンプレートとの間のマッチング度をどう計算するかについては、実施例一の実現過程を参考にできるので、説明を省略する。
【００５３】
ステップ24では、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成する。
【００５４】
ここでは、ステップ24において、まず、前記入力語義および/または変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を得ることが可能で、このとき、前記変換語義と前記入力語義の語義類似度はあらかじめ設定した閾値より高いこととし、変換語義のサブ語義（単語）はステップ21にある同一コーパスから選び取ってもよいし、またその外のコーパスから選び取ってもよく、例えば、インターネットのコーパスから選び取り、後続して生成される自然語句の多様性を高めてもよい。その後、前記候補自然語句において各充填位置にあるサブ語義が構成する充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、かつ前記マッチング度に基づき、マッチング度が所定しきい値に達した自然語句を選別する。
＜実施例三＞
本実施例は上記各実施例が述べる自然言語の生成方法を実現するために用いる装置を提供し、図３を参照に、本発明の実施例は自然言語生成装置30を提供し、該装置は以下のモジュールを含む。
【００５５】
テンプレート取得モジュール31は、コーパスの語句に基づき、あらかじめ定義した入力モードにマッチする少なくとも一つの文型テンプレートを生成する。
【００５６】
テンプレート選択モジュール32は、前記入力モードに基づき入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たす少なくとも一つの候補文型テンプレートを選択する。
【００５７】
語句生成モジュール33は、前記入力語義と前記候補文型テンプレートに基づき自然語句を生成する。
【００５８】
候補文型テンプレートの選択情報を向上させるため、図４に示す通り、本発明の実施例の自然言語生成装置はさらに以下のモジュールを含んでよい。類似度計算モジュール34は、前記テンプレート取得モジュールであらかじめ定義した入力モードにマッチする少なくとも一つの文型テンプレートを生成した後、各二つの文型テンプレート間の類似度を計算する。このとき、前記テンプレート選択モジュール32は、前記入力語義と文型テンプレートとの間のマッチング度を計算する過程において、現在マッチング度を計算している文型テンプレートとその他文型テンプレートとの間の類似度に基づき、前記マッチング度を計算する次の文型テンプレートを決定する。
【００５９】
このうち、前記テンプレート選択モジュール32は具体的に以下のモジュールを含んでよい。第一選択サブモジュールは、上記少なくとも一つの文型テンプレートから一つの文型テンプレートを選出し、現在の文型テンプレートとする。計算サブモジュールは、前記入力語義と現在の文型テンプレートとの間のマッチング度を計算する。第一処理サブモジュールは、前記入力語義と現在の文型テンプレートとの間のマッチング度があらかじめ設定した第一しきい値に達しない場合に、前記少なくとも一つの文型テンプレートにおいて余った文型テンプレートの中から一つ文型テンプレートを選出し、前記マッチング度を計算する次の文型テンプレートとする。第二処理サブモジュールは、前記入力語義と現在の文型テンプレートとの間のマッチング度があらかじめ設定した第一しきい値に達しない場合に、文型テンプレート間の類似度に基づき、現在の文型テンプレートとの類似度があらかじめ設定した第二しきい値を超える計算待ち文型テンプレートを選出し、前記マッチング度を計算する次の文型テンプレートとする。
【００６０】
前記類似度計算モジュール34は、以下の公式に基づき、各二つの文型テンプレート間の類似度Sim(p1,p2)を計算する。
【数８】
2018073411.tif 000013
このうち、
【数９】
2018073411.tif 000014
wはサブ語義が対応する単語を示し、p1、p2は各二つの文型テンプレートの第一文型テンプレートと第二文型テンプレートをそれぞれ示し、sは文型テンプレート中の一つの充填位置を示し、T(p,s)はコーパスにおいて文型テンプレートpの充填位置sに充填できる単語の集合を示し、Num(T())は集合T()の単語数を示し、nはT(p,s)の単語数を示し、θwは単語wにあらかじめ設定した重み付け係数を示し、xはT(p,s)の単語を示し、cos(w,x)は単語wとxのコサイン類似度を示し、T(p1,s)∩T(p2,s)は二つの集合の交叉を示し、T(p1,s)∪T(p2,s)は二つの集合の合併を示し、
（外４）
2018073411.tif 000015
は文型テンプレート中の全ての充填位置sが対応するY値に対して行う加算を示す。
【００６１】
ここで、前記テンプレート選択モジュール32は、入力語義と文型テンプレートとの間のマッチング度を計算する時に、具体的に、前記入力語義中の各サブ語義に対し、該サブ語義の文型テンプレートにおける充填位置にそれぞれ基づき、前記コーパスの中で該充填位置に充填できる単語の第一集合を決定し、該サブ語義と第一集合にある各単語との間のコサイン類似度に基づき、該サブ語義と文型テンプレート中で充填位置が対応するマッチング因子を計算し取得し、このとき、前記マッチング因子と前記コサイン類似度は正の相関を有し、その後、各サブ語義と文型テンプレート中で充填位置が対応するマッチング因子に基づき、前記入力語義と文型テンプレートとの間のマッチング度（例えばマッチング因子の平均値或いは和の値等を使う）を計算する。
【００６２】
ここで、前記語句生成モジュール33は具体的に、前記入力語義および/または変換語義の単語を、前記候補文型テンプレートの対応する位置に充填し、候補自然語句を取得し、このとき、前記変換語義と前記入力語義の語義類似度は、あらかじめ設定した閾値より高く、前記候補自然語句において各充填位置にあるサブ語義が構成する充填語義と、対応する候補文型テンプレートとの間のマッチング度を計算し、かつ前記マッチング度に基づき、マッチング度が所定のしきい値に達した自然語句を選別する。
＜実施例四＞
図５を参照に、本発明の実施例はさらに人数統計の電子機器を提供し、本発明の実施例の図１または図２に示す実施例のフローを実現できる。前記電子機器はパーソナルコンピュータ（PC）、タブレットコンピュータ及び各種スマートデバイス（スマートグラスまたはスマートフォンを含む）等でもよい。図５に示すように、上記電子機器50はプロセッサー51及びメモリを含んでよい。
【００６３】
該メモリにコンピュータプログラム命令が記憶されている。具体的には、該メモリはRAM（ランダムアクセスメモリ）52、ROM（リードオンリーメモリ）53を含んでよい。
【００６４】
このうち、上記コンピュータプログラム命令が前記プロセッサー51によって動作されるとき、前記プロセッサー51に、コーパスの語句に基づき、あらかじめ定義した入力モードにマッチする少なくとも一つの文型テンプレートを生成するステップと、前記入力モードに基づき入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たす少なくとも一つの候補文型テンプレートを選出するステップと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、を実行させる。
【００６５】
図５に示すように、本発明の実施例が提供する電子機器にはさらに、ハードディスク54、入力装置55と表示装置56等の組立部品を含んでもよい。具体的には、入力装置55は、あらかじめ定義した入力モードと入力語義を取得するため、入力機能および/または受け入れ機能を有する装置、例えばキーボード、タッチパネル、各種インターフェースであってよい。前記表示装置56は生成した自然語句等の情報を表示できるLEDディスプレイパネルまたはディスプレイでよい。
【００６６】
上記プロセッサー51、RAM52、ROM53、ハードディスク54、入力装置55と表示装置56はバスアーキテクチャを通じ相互接続できる。バスアーキテクチャは任意の数量の相互接続するバスとブリッジを含んでもよい。具体的には、プロセッサー51が代表する一つ或いは多くのセントラル・プロセッシング・ユニット（CPU）、及びRAM  52とROM  53が代表する一つ或いは多くのメモリの各種回路を一緒に接続する。バスアーキテクチャはさらに、例えば周辺機器、電圧レギュレーター及び電力管理回路等といった各種その他回路を一緒に接続してもよいが、これらは本分野では公知のことであるから、本文ではこれに対し詳細な説明はしない。
【００６７】
上記入力装置55は、ネットワークが求めるデータのサンプルをハードディスク54に入力かつ保存する。
【００６８】
上記RAM52とROM53は、メモリシステムが動作するために不可欠なプログラムとデータ、並びにプロセッサーの計算過程における中間結果等のデータを記憶するために用いられる。
【００６９】
本明細書が提供する上記各実施例において、明らかにした方法と装置は、その他の方式で実現してもよいことを理解されたい。例えば、これまで説明した装置の実施例は単に例示的なものであって、例えば、前記ユニットの分割は、単にロジック機能で分割しただけであって、実際の実現の際には別の分割方式であってもよいし、例えば多くのユニットまたはコンポーネントを結合するか、別のシステムに統合してもよいし、或いはいくらかの特徴を無視したり、実行しなくてもよい。もう一つの点は、表示または論じた相互間の連結、直接連結または通信接続は、いくつかのインターフェース、装置またはユニットを通じた間接連結または通信接続であってもよいし、電気接続、機械またはその他の形式でよい。
【００７０】
また、本発明の各実施例における各機能ユニットは一つの処理ユニットに統合してもよいし、各ユニット単独で物理的に包括してもよいし、二つまたは二つ以上のユニットを一つのユニットに統合してもよい。上記統合したユニットはハードウェア形式で実現してもよいし、ハードウェアにソフトウェア機能ユニットを加える形式で実現してもよい。
【００７１】
上記ソフト機能ユニットの形式で実現した統合ユニットは、一つのコンピュータの読み取り可能メモリ媒体に記憶してよい。上記ソフト機能ユニットを一つのメモリ媒体に記憶するとき、若干の指令で一台のコンピュータ装置（パーソナルコンピュータ、サーバー、或いはネット装置等でよい）に本発明の各実施例が述べる送受信方法の一部ステップを実行させることを含む。前記のメモリ媒体は、USBフラッシュディスク、モバイルハードディスク、リードオンリーメモリ（Read-Only  Memory、ROMと略称する）、ランダムアクセスメモリ（Random  Access  Memory、RAMと略称する）、磁気ディスクまたはコンパクトディスク等のプログラムコードを記憶できる各種媒体を含む。
【００７２】
例えば、本発明の実施例の１つの態様では、コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、をコンピュータに実行させるための自然言語の生成プログラムを提供する。
【００７３】
また、本発明の実施例のもう１つの態様では、コーパスにおける語句に基づき、予め定義された入力モードにマッチした少なくとも一つの文型テンプレートを生成するステップと、前記入力モードに基づく入力語義を取得し、前記入力語義と文型テンプレートとの間のマッチング度を計算し、前記マッチング度が所定条件を満たしている少なくとも一つの候補文型テンプレートを選択するステップと、前記入力語義と前記候補文型テンプレートに基づき、自然語句を生成するステップと、をコンピュータに実行させるための自然言語の生成プログラムを記録した記録媒体を提供する。
【００７４】
以上は本発明の好ましい実施例を説明しているが、当業者にとって、本発明の前記原理から逸脱しない前提の下で、若干の改良と変形を行うことが可能であり、これらの改良と変形も本発明の保護範囲内に属するものである。
【図１】
2018073411.tif 000022
【図２】
2018073411.tif 000023
【図３】
2018073411.tif 000024
【図４】
2018073411.tif 000025
【図５】
2018073411.tif 000026