(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-04
(45)【発行日】2023-09-12
(54)【発明の名称】言語モデルを利用したデータ生成方法、コンピュータ装置、およびコンピュータプログラム
(51)【国際特許分類】
G06F 16/35 20190101AFI20230905BHJP
G06F 40/56 20200101ALI20230905BHJP
G06F 40/216 20200101ALI20230905BHJP
G06N 20/00 20190101ALI20230905BHJP
【FI】
G06F16/35
G06F40/56
G06F40/216
G06N20/00 130
(21)【出願番号】P 2021209463
(22)【出願日】2021-12-23
【審査請求日】2021-12-23
(31)【優先権主張番号】10-2021-0098231
(32)【優先日】2021-07-27
(33)【優先権主張国・地域又は機関】KR
【新規性喪失の例外の表示】特許法第30条第2項適用 ウェブサイトの掲載日 2021年4月18日 ウェブサイトのアドレス https://arxiv.org/abs/2104.08826 公開者 ユ ガンミン、パク ドンジュ、カン ジェウク、イ サンウ、パク ウミョン、ウェブサイトの掲載日 2021年5月25日 ウェブサイトのアドレス https://tv.naver.com/v/20349649 公開者 ユ ガンミン、パク ドンジュ、カン ジェウク、イ サンウ、パク ウミョン
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】ユ ガンミン
(72)【発明者】
【氏名】パク ドンジュ
(72)【発明者】
【氏名】カン ジェウク
(72)【発明者】
【氏名】イ サンウ
(72)【発明者】
【氏名】パク ウミョン
【審査官】三橋 竜太郎
(56)【参考文献】
【文献】特開2019-185551(JP,A)
【文献】米国特許出願公開第2019/0361977(US,A1)
【文献】中国特許出願公開第112883724(CN,A)
【文献】特開2020-140466(JP,A)
【文献】特開2020-034998(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 16/00-16/958
G06F 40/00-40/58
G06N 3/00-99/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ装置が実行するデータ生成方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記データ生成方法は、
前記少なくとも1つのプロセッサが、原本データを利用して言語モデルの入力文となるプロンプトを構成する段階、および
前記少なくとも1つのプロセッサが、前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する段階
を含
み、
前記生成する段階は、前記プロンプト内のラベルに該当する自然語に対する確率分布を利用してラベル分布を示すソフトラベルを生成する段階
を含む、データ生成方法。
【請求項2】
前記データ生成方法は、
前記少なくとも1つのプロセッサが、テキストの意味的多様性に応じて、学習データセットから前記原本データを選択する段階
をさらに含む、請求項
1に記載のデータ生成方法。
【請求項3】
前記選択する段階は、
前記学習データセットからラベルタイプの個数だけの前記原本データを選択すること
を特徴とする、請求項
2に記載のデータ生成方法。
【請求項4】
前記構成する段階は、
テキストタイプとラベルタイプが含まれた形式で前記プロンプトを構成すること
を特徴とする、請求項1~
3のうちのいずれか一項に記載のデータ生成方法。
【請求項5】
前記構成する段階は、
テキストタイプとラベルタイプ、およびラベル
-トークン区分子が含まれた形式で前記プロンプトを構成すること
を特徴とする、請求項1~
3のうちのいずれか一項に記載のデータ生成方法。
【請求項6】
前記構成する段階は、
前記原本データを加工して、前記原本データと同一形式の自然語形態で前記プロンプトを構成すること
を特徴とする、請求項1~
3のうちのいずれか一項に記載のデータ生成方法。
【請求項7】
コンピュータ装置が実行するデータ生成方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記データ生成方法は、
前記少なくとも1つのプロセッサが、原本データを利用して言語モデルの入力文となるプロンプトを構成する段階
であって、タスク仕様、前記原本データ、およびプロンプトテンプレートを組み合わせて前記プロンプトを構成する
段階、および
前記少なくとも1つのプロセッサが、前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する段階
を含む、データ生成方法。
【請求項8】
コンピュータ装置が実行するデータ生成方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記データ生成方法は、
前記少なくとも1つのプロセッサが、原本データを利用して言語モデルの入力文となるプロンプトを構成する段階、および
前記少なくとも1つのプロセッサが、前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する段階
を含み、前記生成する段階は、
前記プロンプト内のテキストとラベルに該当する自然語に対し、以前のトークンの確率分布を次のトークンの入力として伝達する自己回帰方式を利用して前記新規データと前記ラベル情報を抽出する段階
を含む
、データ生成方法。
【請求項9】
前記抽出する段階は、
ヒューリスティックを利用したビームサーチにより、前記以前のトークンの確率分布のうちの上位一部の確率を前記次のトークンの入力として伝達する段階
を含む、請求項
8に記載のデータ生成方法。
【請求項10】
コンピュータ装置が実行するデータ生成方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記データ生成方法は、
前記少なくとも1つのプロセッサが、テキストの意味的多様性に応じて、学習データセットから原本データを選択する段階、
前記少なくとも1つのプロセッサが、前記原本データを利用して言語モデルの入力文となるプロンプトを構成する段階、および
前記少なくとも1つのプロセッサが、前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する段階
を含む、データ生成方法。
【請求項11】
請求項1~10のうちのいずれか一項に記載のデータ生成方法をコンピュータ装置に実行させるためのコンピュータプログラム。
【請求項12】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
原本データを利用して言語モデルの入力文となるプロンプトを構成する過程、および
前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する過程
を処理
し、
前記少なくとも1つのプロセッサは、
前記生成する過程において、前記プロンプト内のラベルに該当する自然語に対する確率分布を利用してラベル分布を示すソフトラベルを生成する、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサは、
テキストの意味的多様性に応じて、学習データセットから前記原本データを選択すること
を特徴とする、請求項
12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサは、
前記学習データセットからラベルタイプの個数だけの前記原本データを選択すること
を特徴とする、請求項
13に記載のコンピュータ装置。
【請求項15】
前記少なくとも1つのプロセッサは、
テキストタイプとラベルタイプが含まれた形式で前記プロンプトを構成すること
を特徴とする、請求項12~
14のうちのいずれか一項に記載のコンピュータ装置。
【請求項16】
前記少なくとも1つのプロセッサは、
テキストタイプとラベルタイプ、およびラベル
-トークン区分子が含まれた形式で前記プロンプトを構成すること
を特徴とする、請求項12~
14のうちのいずれか一項に記載のコンピュータ装置。
【請求項17】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記少なくとも1つのプロセッサは、
原本データを利用して言語モデルの入力文となるプロンプトを構成する過程であって、タスク仕様、前記原本データ、およびプロンプトテンプレートを組み合わせて前記プロンプトを構成する
過程、
および
前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する過程
を処理する、コンピュータ装置。
【請求項18】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記少なくとも1つのプロセッサは、
原本データを利用して言語モデルの入力文となるプロンプトを構成する過程、および
前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する過程
を処理し、
前記少なくとも1つのプロセッサは、
前記生成する過程において、前記プロンプト内のテキストとラベルに該当する自然語に対し、以前のトークンの確率分布を次のトークンの入力として伝達する自己回帰方式を利用して前記新規データと前記ラベル情報を抽出すること
を特徴とする
、コンピュータ装置。
【請求項19】
前記少なくとも1つのプロセッサは、
ヒューリスティックを利用したビームサーチにより、前記以前のトークンの確率分布のうちの上位一部の確率を前記次のトークンの入力として伝達すること
を特徴とする、請求項
18に記載のコンピュータ装置。
【請求項20】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
テキストの意味的多様性に応じて、学習データセットから原本データを選択する過程、
前記原本データを利用して言語モデルの入力文となるプロンプトを構成する過程、および
前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する過程
を処理する、コンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、テキストデータを生成する技術に関する。
【背景技術】
【0002】
NLP(natural language processing)モデルを構築するためには、データ設計とデータ収集の先行によってモデル学習に必要なデータを確保する。確保したデータに基づいてモデルを学習した後、性能を評価しながらデータ設計やモデル学習の改善作業を繰り返す。
【0003】
PLM(pretrained language model)が登場してからは、PLMを基盤に特定のドメインやタスクを解くNLPモデルによってファインチューニング(fine tuning)を行う方法が適用されている。
【0004】
さらに、NLPモデルを効率的に学習するためには、データ拡張(data augmentation)技法が使用されている。
【0005】
一例として、EDA(easy data augmentation)のようにモデル学習のために表面的に文句を操作してテキストデータを生成する技術は、生成された文章の文法性が低く、文章の意味が意図するものとの間に大きな差が生じる場合がある。
【0006】
他の例として、再変換(Back-translation)のように機械翻訳モデルを利用して類似文章を生成する技術は、特定の言語的特性をもつ翻訳コーパスによって学習された翻訳モデルを活用するため、生成された文体が(生成の対象となる)既存のテキストデータの言語的特性を反映することができず、汎用的な使用が不可能であるという短所がある。
【発明の概要】
【発明が解決しようとする課題】
【0007】
多様な言語特性のコーパスによって学習された大規模言語モデルを利用して自然語生成結果を導き出すことができ、導き出された生成結果から新規データを抽出することができる、データ拡張技術を提供する。
【課題を解決するための手段】
【0008】
コンピュータ装置が実行するデータ生成方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記データ生成方法は、前記少なくとも1つのプロセッサが、原本データを利用して言語モデルの入力文となるプロンプト(prompt)を構成する段階、および前記少なくとも1つのプロセッサが、前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する段階を含む、データ生成方法を提供する。
【0009】
一側面によると、前記生成する段階は、前記プロンプト内のラベルに該当する自然語に対する確率分布(probability distribution)を利用してラベル分布を示すソフトラベルを生成する段階を含んでよい。
【0010】
他の側面によると、前記データ生成方法は、前記少なくとも1つのプロセッサが、テキストの意味的多様性に応じて、学習データセットから前記原本データを選択する段階をさらに含んでよい。
【0011】
また他の側面によると、前記選択する段階は、前記学習データセットからラベルタイプの個数だけの前記原本データを選択してよい。
【0012】
また他の側面によると、前記構成する段階は、テキストタイプとラベルタイプが含まれた形式で前記プロンプトを構成してよい。
【0013】
また他の側面によると、前記構成する段階は、テキストタイプとラベルタイプ、およびラベル位置区分子(verbalizer)が含まれた形式で前記プロンプトを構成してよい。
【0014】
また他の側面によると、前記構成する段階は、前記原本データを加工し、前記原本データと同一形式の自然語形態で前記プロンプトを構成してよい。
【0015】
また他の側面によると、前記構成する段階は、タスク仕様(task specification)、前記原本データ、およびプロンプトテンプレート(template)を組み合わせて前記プロンプトを構成してよい。
【0016】
また他の側面によると、前記生成する段階は、前記プロンプト内のテキストとラベルに該当する自然語に対し、以前のトークンの確率分布を次のトークンの入力として伝達する自己回帰(auto regressive)方式を利用して前記新規データと前記ラベル情報を抽出する段階を含んでよい。
【0017】
さらに他の側面によると、前記抽出する段階は、ヒューリスティック(heuristic)を利用したビームサーチ(beam search)により、前記以前のトークンの確率分布のうちの上位一部の確率を前記次のトークンの入力として伝達する段階を含んでよい。
【0018】
前記データ生成方法を前記コンピュータ装置に実行させるためのコンピュータプログラムを提供する。
【0019】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、原本データを利用して言語モデルの入力文となるプロンプトを構成する過程、および前記プロンプトを前記言語モデルに入力し、前記言語モデルから新規データと前記新規データに対するラベル情報を生成する過程を処理する、コンピュータ装置を提供する。
【発明の効果】
【0020】
本発明の実施形態によると、言語モデルを利用して原本データを変形したり拡張したりして新規データを生成し、言語モデルが認知している知識を新規データを通じて転移することにより、データ収集の投入工数を著しく減らすことができ、モデル軽量化の効果を達成することができる。
【図面の簡単な説明】
【0021】
【
図1】本発明の一実施形態における、コンピュータ装置の内部構成の一例を説明するためのブロック図である。
【
図2】本発明の一実施形態における、大規模言語モデルを利用したテキスト拡張の概念を説明するための図である。
【
図3】本発明の一実施形態における、コンピュータ装置が実行することのできるデータ生成方法の例を示したフローチャートである。
【
図4】本発明の一実施形態における、言語モデルの入力プロンプトを構成する過程を説明するための図である。
【
図5】本発明の一実施形態における、データ拡張過程を説明するための図である。
【
図6】本発明の一実施形態における、データ拡張過程を説明するための図である。
【
図7】本発明の一実施形態における、言語モデルを利用して新たな文章とラベル情報を生成する過程を説明するための図である。
【
図8】本発明の一実施形態における、分布のあるソフトラベルを生成する過程を説明するための図である。
【
図9】本発明の一実施形態における、原本データの例と、原本データから生成された新規データの例を示した図である。
【発明を実施するための形態】
【0022】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0023】
本発明の実施形態は、言語モデルを利用したテキストデータ生成技術に関する。
【0024】
本明細書で具体的に開示される事項を含む実施形態は、大規模言語モデルを利用することで、既存のテキストデータの特性と一貫性がある上に、高い文法性と自然さを備えた文章を生成することができる。さらに、該当の文章に対する高い品質のラベル情報も生成することができる。
【0025】
図1は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。例えば、本発明の実施形態に係るデータ生成システムは、
図1に示したコンピュータ装置100によって実現されてよい。
【0026】
図1に示すように、コンピュータ装置100は、本発明の実施形態に係るデータ生成方法を実行するための構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェース140を含んでよい。
【0027】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータ装置100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置100のメモリ110にロードされてよい。
【0028】
プロセッサ110は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0029】
通信インタフェース130は、ネットワーク160を介してコンピュータ装置100が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータ装置100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータ装置100の通信インタフェース130を通じてコンピュータ装置100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データなどは、プロセッサ120やメモリ110に伝達されてよく、ファイルなどは、コンピュータ装置100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0030】
通信方式が限定されることはなく、ネットワーク160が含むことのできる通信網(一例として、移動通信網、有線インターネット、無線インターネット、放送網)を利用する通信方式だけではなく、機器間の近距離無線通信が含まれてもよい。例えば、ネットワーク160は、PAN(personal area network)、LAN(local area network)、CAN(campus area network)、MAN(metropolitan area network)、WAN(wide area network)、BBN(broadband network)、インターネットなどのネットワークのうちの1つ以上の任意のネットワークを含んでよい。さらに、ネットワーク160は、バスネットワーク、スターネットワーク、リングネットワーク、メッシュネットワーク、スター-バスネットワーク、ツリーまたは階層的ネットワークなどを含むネットワークトポロジのうちの任意の1つ以上を含んでもよいが、これらに限定されることはない。
【0031】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータ装置100と1つの装置で構成されてもよい。
【0032】
また、他の実施形態において、コンピュータ装置100は、
図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0033】
本発明で使用する大規模言語モデルとは、Few-shot Learning(FSL)などのような方式を利用してファインチューニング(fine-tuning)を経ずに推論することが可能な言語モデルを指称してよく、従来の一般的な言語モデルに比べて10倍以上も多い媒介変数(例えば、1000億個以上の媒介変数など)を有する。例えば、GPT-3(Generative Pre-trained Transformer3)やHyperClovaのような大規模言語モデルは、自然なテキストプロンプトで制御することが可能な優れたFew-shot学習機であって、プロンプトによって少量のデータだけでパターンを理解し、NLP問題を解決する能力であるインコンテキスト学習(in-context learning)が可能である。
【0034】
本実施形態は、大規模言語モデルを活用して原本データから新規データを生成する新たなデータ拡張技法に関する。さらに、言語モデルで予測したソフトラベル(soft label)を活用して大規模言語モデルで知識を効果的に蒸溜すると同時に、テキスト摂動(textual perturbations)を生成することができる。
【0035】
図2は、本発明の一実施形態における、大規模言語モデルを利用したテキスト拡張の概念を説明するための図である。
【0036】
図2を参照すると、本実施形態において、大規模言語モデル210は、モデル学習に必要な合成テキストデータ(synthetic text data)を生成するためのバックボーンとして使用される。
【0037】
本実施形態によると、大規模言語モデル210を使用することで、原本データから、合成でありながらも極事実的(hyper-realistic)な新規データを生成することができる。
【0038】
ラベルがあるかラベルのない形態のテキストデータがあるとき、該当のデータを自然語形態のプロンプト入力文に変換し、変換されたプロンプト入力文を言語モデル210に入力として与えることで主語自然語生成結果を導き出してよい。導き出された生成結果を分析して新規データを抽出してよく、このとき、新規データは、原本データと同じ形態であって、ラベルがあるかラベルのない形態である。抽出された新規データは、原本テキストデータに追加してデータ収集に役立てたり、該当のデータによってモデルを生成すればモデルの性能が高まったりもする。
【0039】
言い換えれば、本実施形態は、データ拡張を目的とし、大規模言語モデル210で新規データを生成するためにプロンプト基盤の接近方式を使用するものであって、原本データからインスピレーションを受けた新規データと大規模言語モデル210によって予測されたソフトラベルを使用して小規模分類モデルを訓練することにより、知識の蒸溜を達成することができる。
【0040】
図3は、本発明の一実施形態における、コンピュータ装置が実行することのできるデータ生成方法の例を示したフローチャートである。
【0041】
本実施形態に係るデータ生成方法は、上述したコンピュータ装置100によって実行されてよい。この場合、コンピュータ装置100のプロセッサ120は、メモリ110が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ120は、コンピュータ装置100に記録されたコードが提供する制御命令にしたがってコンピュータ装置100が
図3のデータ生成方法に含まれる段階310~340を実行するようにコンピュータ装置100を制御してよい。
【0042】
本実施形態に係るデータ生成方法は、データ分布に基づいて、極めて流暢な新規データを生成することができる。
【0043】
図3を参照すると、段階310で、プロセッサ120は、データセットからプロンプトに使用する原本データを選定してよい。
【0044】
以下では、テキスト分類タスクのためのデータ生成を例に挙げて原本データを選定する方法を説明する。分類タスクTが与えられた場合、学習データセットは、テキストxとラベルyの対からなる集合
【0045】
【0046】
一例として、プロセッサ120は、学習データセットDからk個の原本データをランダムに選択してよい。プロセッサ120は、一様分布(uniform distribution)を利用してk個の原本データを選択してよい(数式(1))。
【0047】
【0048】
原本データの個数であるkは、費用と性能を考慮した上で決定されてよく、例えば、プロセッサ120は、kを2に設定して学習データセットDから2つの原本データを選択してよい。
【0049】
他の例として、プロセッサ120は、学習データセットDから、テキストの意味的多様性を考慮した上で、原本データを選択してよい。意味的多様性とは、テキストの意味がどれほど多様であるかを示す指標である。意味的多様性が低い場合は、生成されたデータが既存のデータセットの原本と類似度が高いためデータ拡張効果が低い反面、意味的多様性が高いほどデータ拡張に役立つ新規データが得られる確率が高まる。
【0050】
意味的多様性を計算する方法として、文章ベクトル表現法(例えば、bag-of-words、aggregate word2vec、BERT embedding、BLEURTなど)を利用して各テキストのベクトルを抽出する。類似度(例えば、cosine similarityなど)を利用してベクトル間の距離を計算したり、BLEURTのようなネットワークを利用して各対のセマンティック距離(pairwise semantic distance)を計算したりした後、距離が遠い(semantic distanceが高い)対にさらに高い加重値を付与してサンプリングを実施してよい。
【0051】
プロセッサ120は、学習データセットDからクラスの数、すなわち、ラベルの種類に該当するだけの原本データを選択してよい。プロセッサ120は、同一ラベルの原本データのうちで各対のセマンティック距離が高いデータを優先的に選択してよい。セマンティック距離にα(alpha)乗数を適用してよく、このとき、αは、最適化が必要なハイパーパラメータに該当する。
【0052】
段階320で、プロセッサ120は、言語モデルの入力に該当するプロンプトを構成してよい。プロセッサ120は、段階310で選択された原本データを利用して言語モデルの入力プロンプトを構成してよい。プロセッサ120は、与えられたNLP問題の特性が適切に反映された専用プロンプトテンプレートを製作してよく、このとき、プロンプトテンプレートには、該当のタスクの定義やメタ情報が含まれてよい。言い換えれば、プロセッサ120は、データセットから選択された原本データを加工して自然語形態のプロンプトを構成してよく、このとき、プロンプトは、言語モデルが理解することが可能な形式で製作され、言語モデルの入力として与えられる。プロセッサ120は、原本データがラベルのあるデータの場合、ラベル情報とともに入力文が生成されるようにプロンプトを設計する。
【0053】
プロセッサ120は、学習データセットDからサンプリングされた原本データ
【0054】
【数3】
が与えられるとき、説明ヘッダ(description header)、テキスト-ラベル対リスト、拡張接頭辞(augmentation prefix)で構成されたプロンプトを生成してよい。プロンプトは、言語モデルがデータ分布に対してさらに適切に一般化することが可能なように各タスクの情報を有しており、このようなタスク表示子(task indicator)は、タスクごとに固有であり、課題のメタ情報を提供してよい。
【0055】
プロンプトの形式自体は多様に構成されてよいが、一例として、プロンプトは、テキストタイプ(例えば、レビューや記事など)とラベルタイプ(例えば、感情や分類など)、さらにラベル位置を確認することのできるラベル-トークン区分子(label-token verbalizer)を含んでよい。
【0056】
テキストタイプTは、入力テキストxのメタタイプであって、例えば、動画レビュー感情分析においてテキストタイプは動画レビューに該当する。ラベルタイプLはラベルクラスyのメタタイプであって、例えば、動画レビュー感情分析においてラベルタイプは感情に該当する。ラベル-トークン区分子v
【0057】
【数4】
においてプロンプトを公式化するためには、ラベルクラス
【0058】
【0059】
【数6】
で単語トークン間の1対1マッピングが必要となる。
【0060】
上述した3つのメタ情報は、タスク仕様(task specification)
【0061】
【数7】
を構成する。各タスクTは、プロンプトを公式化することのできる課題仕様
【0062】
【数8】
を必要とする。プロセッサ120は、基本的に、一般タスク仕様である
【0063】
【数9】
を使用してプロンプトを生成してよい。ここで、Iは、クラスラベルが語彙
【0064】
【数10】
に存在すると仮定する識別関数(identity function)を意味する。
【0065】
要するに、
図4に示すように、プロセッサ120は、与えられたタスクTに対し、タスク仕様410、学習データセット400からサンプリングされた原本データであるデータ例420、与えられたタスクTの特性を考慮したプロンプトテンプレート430を組み合わせて言語モデルの入力プロンプトを構成してよい。
【0066】
図5の具体的な例から分かるように、プロセッサ120は、タスク仕様410、データ例420、およびプロンプトテンプレート430を利用して言語モデルが理解することが可能な形式で構成して言語モデルの入力プロンプト540を製作してよい。タスク仕様410の一例は表1に示すとおりであり、プロンプトテンプレート430の一例は表2に示すとおりである。データ例420として
【0067】
【数11】
が与えられる場合、入力プロンプト540は表3のように構成されてよい。
【0068】
【0069】
再び
図3を参照すると、段階330で、プロセッサ120は、段階320で構成されたプロンプトを言語モデルに入力し、言語モデルから新規データが含まれた自然語を生成してよい。言い換えれば、プロセッサ120は、プロンプト入力文を言語モデルに入力した後、言語モデルの完成機能によって言語生成結果を得てよい。
【0070】
段階340で、プロセッサ120は、自然語生成結果を分析して新規データを抽出してよい。言語モデルは、入力文として与えられたプロンプトのパターンに沿って自然語を生成してよく、生成された自然語のパターン分析によって新規データを抽出してよい。
【0071】
図6に示すように、プロセッサ120は、プロンプト540を言語モデル210に入力し、言語モデル210に基づいて生成された自然語のパターンを分析することで、拡張データ650として(新しい文章、該当の文章のラベル情報)対を得てよい。一例として、プロセッサ120は、プロンプト540内のラベルに該当する自然語トークンの言語モデリング確率分布を使用してラベル分布を得てよい。
【0072】
プロンプト基盤の接近方式の場合、拡張テキストx’とラベルy’は、プロンプト以後に自然語テキストとして連続で生成される。サンプリングされた原本データに基づいて予め定義されたプロンプトテンプレートは、言語モデルが(x’、y’)構造を生成するように入力文を提供するため、パターンマッチングによって各値を抽出してよい。また、共同テキスト(joint text)およびラベル生成は、生成されたテキストが正しいラベルに連結されるようにする。
【0073】
本実施形態のプロンプトデザインは、
【0074】
【数12】
に該当するラベルトークンがテキストx以後に生成されるように保障する。プロセッサ120は、言語モデルを利用して疑似ラベリング(pseudo-labeling)を実行してよく、拡張テキストx’のソフトラベル確率を得るためにラベル-トークンを生成する可能性(likelihood)を正規化してよい。
【0075】
拡張テキストx’がラベルy’によってラベリングされる疑似ラベル確率は、数式(2)のとおりである。
【0076】
【0077】
【数14】
は、言語モデリング可能性(language modeling likelihood)を示し、
【0078】
【数15】
は、与えられたタスク仕様を構成する関数である。
【0079】
本実施形態では、テキスト摂動、疑似ラベリング、知識の蒸溜を単一拡張タスクで効果的に結合することができる。実際に、疑似ラベルのある新規データは、交差エントロピー損失(cross-entropy loss)を使用して原本データとともに訓練される。
【0080】
図7を参照すると、プロセッサ120は、言語モデル210の完成機能による確率分布に基づいて新規データを生成してよく、このとき、ラベル-トークン区分子を基準にパターン分析でラベルに該当するトークンに対する確率を利用してソフトラベル、すなわち、分布のあるラベルを生成してよい。
【0081】
より詳しく説明すると、プロセッサ120は、プロンプト入力文として提供されるすべての自然語を特定のトークン化形態(tokenization scheme)(例えば、定数形態のインデックスなど)に変換した後、言語モデル210に入力する。(新しい文章、該当の文章のラベル情報)対を得るためには、自己回帰(autoregressive)に基づいて以前のトークンの確率分布を次のトークンの入力として伝達するようになるが、このとき、ヒューリスティック(heuristic)を利用したビームサーチ(beam search)によって上位n個の確率を次のトークンの入力として使用する。各トークンの自体確率分布と以前のトークンの確率分布を掛けたジョイント確率のうちで上位n個の確率を利用することにより、確率値の高いシーケンスを抽出することができる。
【0082】
例えば、
図8に示すように、プロセッサ120は、ラベルに該当するトークンの確率を利用してソフトラベルを構成してよい。言い換えれば、ソフトラベルは、言語モデル210によって予測された正規化ラベルトークン分布から抽出されてよい。
【0083】
図9を参照すると、肯定に分類されたデータ例1(910)と否定に分類されたデータ例2(920)が原本データとして与えられた場合、言語モデル210を利用した言語生成結果から新規データ930を抽出してよい。
【0084】
プロセッサ120は、プロンプトによって生成された結果を分析し、合成された新規データとラベル情報を抽出する。このような作業を数回繰り返すことにより、本来はデータに存在していなかった多様なデータと正確な分類情報が得られるようになり、このようなデータを既存のデータに混合すれば、ダウンストリームNLPモデルをファインチューニングするのに使用することができる。新規データ930は、与えられた2つの原本データ910、920の言語的および構造的特徴を適切に参照して生成される出力データであって、該当の新規データ930に肯定と否定を適切に混ぜることで、既存には存在しない、完全に新たなデータとなる。
【0085】
新規データ930を学習データセットに追加することで、すなわち、データ拡張することで最終分類機性能を高めることができる。
【0086】
原本データ910、920は、単一ラベルが付着された形態のハードラベルのあるデータや、新規データ930は、少なくとも2つ以上のラベル分布形態のソフトラベルのあるデータとして生成されてよい。
【0087】
ソフトラベルをハードラベルに変換することは最大演算(max operation)などによって可能であるため、原本データ910、920や新規データ930はすべてハードラベル形態で活用することができる。学習過程では、交差エントロピー(cross entropy)などの損失関数を使用するため、ハードラベル形態とソフトラベル形態をすべて活用することができる。
【0088】
このように、本発明の実施形態によると、言語モデルに基づいて既存のデータを変形したり拡張したりして拡張データを生成し、言語モデルが認知している知識を拡張データを通じて転移することにより、データ収集の投入工数を著しく減らすことができ、モデル軽量化の効果を達成することができる。
【0089】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者は、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0090】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0091】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0092】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0093】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0094】
210:言語モデル
220:PLM