(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2024167768
(43)【公開日】2024-12-04
(54)【発明の名称】評価装置、評価方法、およびプログラム
(51)【国際特許分類】
G06F 40/216 20200101AFI20241127BHJP
【FI】
G06F40/216
【審査請求】未請求
【請求項の数】10
【出願形態】OL
(21)【出願番号】P 2023084071
(22)【出願日】2023-05-22
(71)【出願人】
【識別番号】000004237
【氏名又は名称】日本電気株式会社
(74)【代理人】
【識別番号】110000338
【氏名又は名称】弁理士法人 HARAKENZO WORLD PATENT & TRADEMARK
(72)【発明者】
【氏名】松田 勝志
(57)【要約】
【課題】言語処理モデルの性能が良くない場合の原因を絞り込む。
【解決手段】評価装置(1)は、言語処理モデルに含まれるエンベディング層を用いて、複数の訓練データ片にそれぞれ含まれる自然言語文のエンベディングを取得する取得部(11)と、複数のエンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成部(12)と、画像データの特徴を検出する検出部(13)と、画像データの特徴に基づいて、エンベディング層の品質を評価する評価部(14)と、を含む。
【選択図】
図1
【特許請求の範囲】
【請求項1】
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、
前記画像データの特徴を検出する検出手段と、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、
を含む、評価装置。
【請求項2】
前記言語処理モデルは、分類タスクを実行するモデルであり、
前記訓練データ片は、前記自然言語文および当該自然言語文の分類を示すラベルを関連付けた情報を含み、
前記生成手段は、複数の前記エンベディングの各々を行または列として前記ラベルに基づく順に並べた前記行列から前記画像データを生成し、
前記検出手段は、前記画像データの特徴として、画素値の変化に基づく第1境界を検出し、
前記評価手段は、前記画像データにおいて前記ラベルが互いに異なるエンベディングに対応する行または列の間を示す第2境界と、前記第1境界との比較結果に基づいて、前記エンベディング層の品質を評価する、
請求項1に記載の評価装置。
【請求項3】
前記評価手段は、前記第2境界の個数に対する、前記第2境界に整合すると判定した前記第1境界の個数の割合を示す再現率に基づいて、前記エンベディング層の品質を評価する、
請求項2に記載の評価装置。
【請求項4】
前記評価手段は、前記第2境界の個数に対する前記第1境界の個数の割合を示す検出倍率に基づいて、前記エンベディング層の品質を評価する、
請求項2または3に記載の評価装置。
【請求項5】
前記生成手段は、前記行列に含まれる複数の行を、各行の各要素から算出される第1の代表値に基づき並べ替えた行列から前記画像データを生成する、
請求項1または2に記載の評価装置。
【請求項6】
前記生成手段は、前記行列に含まれる複数の列を、各列の各要素から算出される第2の代表値に基づき並べ替えた行列から前記画像データを生成する、
請求項1または2に記載の評価装置。
【請求項7】
前記言語処理モデルとして第1の言語処理モデルを適用して、前記取得手段、前記生成手段、前記検出手段、および前記評価手段を機能させることにより得られた前記エンベディング層の品質の評価結果を第1の評価結果とし、
前記言語処理モデルとして前記第1の言語処理モデルとは異なる第2の言語処理モデルを適用して、前記取得手段、前記生成手段、前記検出手段、および前記評価手段を機能させることにより得られた前記エンベディング層の品質の評価結果を第2の評価結果とし、
前記評価手段は、
同一の前記複数の訓練データ片を用いて得られた前記第1の評価結果および前記第2の評価結果が何れも所定基準を満たさない場合に、当該複数の訓練データ片の品質が基準を満たさないと評価する、
請求項1または2に記載の評価装置。
【請求項8】
前記評価手段による評価結果、および前記生成手段が生成した画像データの一方または両方を出力する出力手段をさらに含む、
請求項1または2に記載の評価装置。
【請求項9】
少なくとも1つのプロセッサが実行する評価方法であって、
前記少なくとも1つのプロセッサが、
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得することと、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成することと、
前記画像データの特徴を検出することと、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価することと、
を含む、評価方法。
【請求項10】
コンピュータを、
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、
前記画像データの特徴を検出する検出手段と、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、として機能させるプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、言語処理モデルの性能を評価する技術に関する。
【背景技術】
【0002】
近年、汎用的な自然言語処理モデルを事前学習モデルとしてファインチューニングすることにより、所望の言語処理タスクを行う言語処理モデルを生成することが知られている。このような言語処理モデルの性能は、例えば、当該言語処理モデルの生成に用いられた訓練データ、事前学習モデル、学習アルゴリズム、当該言語処理モデルにおいて採用されるハイパーパラメータ等に影響される。このような言語処理モデルの性能の改善を目的として、例えば、ハイパーパラメータを調整するためにグリッドサーチ等の技術を用いることが知られている。また、例えば、特許文献1には、訓練データの品質を改善するための技術が記載されている。
【先行技術文献】
【特許文献】
【0003】
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、言語処理モデルの性能が良くない場合に、その主な原因が、上述したような訓練データ、事前学習モデル、学習アルゴリズム、ハイパーパラメータ等の何れであるのかを絞り込むことは難しい。特許文献1に記載された技術は、その主な原因が訓練データの品質にあることが分かっている場合には有効であるが、そうでない場合には、訓練データの品質を改善しても言語処理モデルの性能を改善できない可能性がある。そのため、言語処理モデルの性能が良くない場合の原因を絞り込むことが重要である。
【0005】
本発明の一態様は、上記の問題に鑑みてなされたものであり、その目的の一例は、言語処理モデルの性能が良くない場合の原因を絞り込む技術を提供することである。
【課題を解決するための手段】
【0006】
本発明の一態様に係る評価装置は、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、前記画像データの特徴を検出する検出手段と、前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、を含む。
本発明の一態様に係る評価方法は、少なくとも1つのプロセッサが実行する評価方法であって、前記少なくとも1つのプロセッサが、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得することと、複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成することと、前記画像データの特徴を検出することと、前記画像データの特徴に基づいて、前記エンベディング層の品質を評価することと、を含む。
【0007】
本発明の一態様に係るプログラムは、コンピュータを、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、前記画像データの特徴を検出する検出手段と、前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、として機能させる。
【発明の効果】
【0008】
本発明の一態様によれば、言語処理モデルの性能が良くない場合の原因を絞り込むことができる。
【図面の簡単な説明】
【0009】
【
図1】本発明の例示的実施形態1に係る評価装置の構成を示すブロック図である。
【
図2】本発明の例示的実施形態1に係る評価方法の流れを示すフロー図である。
【
図3】本発明の例示的実施形態2に係る評価装置を含む評価システムの構成を示すブロック図である。
【
図4】本発明の例示的実施形態2に係る評価方法の流れを説明するフロー図である。
【
図5】本発明の例示的実施形態2におけるエンベディングの一例を示す模式図である。
【
図6】本発明の例示的実施形態2における生成処理の詳細な流れを示すフロー図である。
【
図7】本発明の例示的実施形態2における行列の一例を示す模式図である。
【
図8】本発明の例示的実施形態2における画素値の割り当ての具体例を示す模式図である。
【
図9】本発明の例示的実施形態2における画像データの一例を示す模式図である。
【
図10】本発明の例示的実施形態2における検出処理の詳細な流れを示すフロー図である。
【
図11】本発明の例示的実施形態2における第1境界の一例を示す模式図である。
【
図12】本発明の例示的実施形態2における評価処理の詳細な流れを示すフロー図である。
【
図13】本発明の例示的実施形態2の具体例における画像データを示す図である。
【
図14】本発明の例示的実施形態2の具体例における第1境界および第2境界を示す図である。
【
図15】各例示的実施形態に係る評価装置のハードウェア構成例を示す図である。
【発明を実施するための形態】
【0010】
本願発明者は、言語処理モデルの性能が良くない場合の原因を、当該言語処理モデルに含まれるエンベディング層の品質に応じて絞り込めることに着目し、エンベディング層の品質を評価する評価装置を発明した。エンベディング層の品質が良いにも関わらず言語処理モデルの性能が悪い場合は、言語処理タスク層(例えば、ハイパーパラメータ)に原因がある可能性が高い。一方で、エンベディング層の品質が良くない場合は、エンベディング層の生成過程に関わる訓練データ、事前学習モデル、または学習アルゴリズムに問題がある可能性が高い。このように、本願発明に係る評価装置を用いれば、エンベディング層の品質の評価結果に応じて言語処理モデルの性能が良くない場合の原因を絞り込むことができる。
【0011】
〔例示的実施形態1〕
本発明の第1の例示的実施形態について、図面を参照して詳細に説明する。本例示的実施形態は、後述する例示的実施形態の基本となる形態である。
【0012】
(評価装置1の構成)
本例示的実施形態に係る評価装置1の構成について、
図1を参照して説明する。
図1は、評価装置1の構成を示すブロック図である。
図1に示すように、評価装置1は、取得部11と、生成部12と、検出部13と、評価部14と、を含む。
【0013】
取得部11は、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する。生成部12は、複数のエンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する。検出部13は、画像データの特徴を検出する。評価部14は、画像データの特徴に基づいて、エンベディング層の品質を評価する。
【0014】
(プログラムによる実現例)
評価装置1を、少なくとも1つのプロセッサおよびメモリを含むコンピュータによって構成する場合、当該メモリには、本例示的実施形態に係る以下のプログラムが記憶される。当該プログラムは、当該コンピュータを、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得部11と、複数のエンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成部12と、画像データの特徴を検出する検出部13と、画像データの特徴に基づいて、エンベディング層の品質を評価する評価部14と、として機能させる。
【0015】
(評価方法S1の流れ)
以上のように構成された評価装置1は、本例示的実施形態に係る評価方法S1を実行する。評価方法S1の流れについて、
図2を参照して説明する。
図2は、評価方法S1の流れを示すフロー図である。
図2に示すように、評価方法S1は、ステップS11~S14を含む。
【0016】
ステップS11において、少なくとも1つのプロセッサは、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する。ステップS12において、少なくとも1つのプロセッサは、複数のエンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する。ステップS13において、少なくとも1つのプロセッサは、画像データの特徴を検出する。ステップS14において、少なくとも1つのプロセッサは、画像データの特徴に基づいて、エンベディング層の品質を評価する。
【0017】
以上のように、本例示的実施形態においては、複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得し、複数のエンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成し、画像データの特徴を検出し、画像データの特徴に基づいて、エンベディング層の品質を評価する、という構成が採用されている。このため、本例示的実施形態によれば、エンベディング層の評価結果に応じて、言語処理モデルの品質が良くない場合の原因を絞り込むことができる、という効果が得られる。
【0018】
〔例示的実施形態2〕
本発明の第2の例示的実施形態に係る評価装置1Aについて、図面を参照して詳細に説明する。なお、例示的実施形態1にて説明した構成要素と同じ機能を有する構成要素については、同じ符号を付し、その説明を適宜省略する。
【0019】
(評価装置1Aの構成)
図3は、評価装置1Aを含む評価システム10の構成を示すブロック図である。
図3に示すように、評価システム10は、評価装置1A、学習装置2、および表示装置3を含む。なお、評価装置1Aおよび学習装置2の間は、通信可能に接続されていてもよいが、通信可能である必要はなく、接続されていなくてもよい。表示装置3は、評価装置1Aに接続され、評価装置1Aの制御のもとに情報を表示する。
【0020】
評価装置1Aは、言語処理モデルM2に含まれるエンベディング層の品質を評価する装置である。本例示的実施形態では、言語処理モデルM2として、自然言語文の分類タスクを実行する深層学習モデルを適用する。言語処理モデルM2は、自然言語文が入力されると、当該自然言語文の分類を出力するよう学習されている。
【0021】
学習装置2は、事前学習モデルM1に対して、訓練データセットDS1を用いてファインチューニングを行うことにより、言語処理モデルM2を生成する装置である。訓練データセットDS1、および言語処理モデルM2は、評価装置1Aからアクセス可能な記憶装置(図示せず)に記憶されている。なお、本例示的実施形態においては、言語処理モデルM2の生成に用いた訓練データセットDS1を、評価装置1Aが参照する例について説明する。ただし、評価装置1Aが参照する訓練データセットDS1の一部または全部は、必ずしも言語処理モデルM2の生成に用いられた訓練データセットでなくてもよく、評価用の訓練データセットであってもよい。
【0022】
事前学習モデルM1は、自然言語文を入力としてそのエンベディングを出力する。エンベディングは、自然言語文を高次元の特徴量空間におけるベクトルとして表したものである。エンベディングの各要素は数値であり、つまり、エンベディングは、自然言語文を数値で表したものである。事前学習モデルM1の一例として、例えば、BERT(Bidirectional Encoder Representations from Transformers)、GPT(Generative Pre-trained Transformer)、T5(Text-to-Text Transfer Transformer)等が挙げられる。例えば、日本語BERT(bert-base-japanese-whole-word-masking)が出力するエンベディングは768次元のベクトルである。また、日本語GPT2(Japanese-gpt2-medium)が出力するエンベディングは1024次元のベクトルである。また、日本語T5(t5-base-japanese)が出力するエンベディングは768次元のベクトルである。ただし、事前学習モデルM1は、上述した具体例に限られない。
【0023】
訓練データセットDS1は、複数の訓練データ片を含む。訓練データ片は、自然言語文および当該自然言語文の分類を示すラベルを関連付けた情報(以降、ペアともいう)を含む。一例として、ラベル「TRUE」は、当該ラベルに関連付けられた自然言語文が正しい情報であるという分類を示し、ラベル「FALSE」は、間違った情報であるという分類を示しているとする。この場合、訓練データ片の一例として、ラベル「TRUE」および自然言語文「日本の首都は東京である」のペア、ラベル「FALSE」および自然言語文「大阪は日本で最も人口の多い都道府県である」のペア等が挙げられる。なお、訓練データ片に含まれ得るラベルの種類および数は、上述した例に限られない。
【0024】
言語処理モデルM2は、学習装置2によって、訓練データセットDS1を用いて事前学習モデルM1がファインチューニングされることにより生成されたモデルである。言語処理モデルM2は、エンベディング層L1および分類層L2を含む。エンベディング層L1は、自然言語文を入力としてそのエンベディングを出力する層である。同一の自然言語文の入力に対して、エンベディング層L1から出力されるエンベディングと、事前学習モデルM1から出力されるエンベディングとは、同一とは限らず異なる可能性がある。これは、エンベディング層L1が事前学習モデルM1をもとにファインチューニングされていることによる。分類層L2は、エンベディングを入力としてその分類を出力する層である。言語処理モデルM2は、エンベディング層L1に訓練データ片の自然言語文が入力されると、当該自然言語文に関連付けられたラベルが分類層L2から出力されるよう、学習されている。
【0025】
評価装置1Aは、取得部11Aと、生成部12Aと、検出部13Aと、評価部14Aと、出力部15Aと、を含む。取得部11Aは、訓練データセットDS1の各訓練データ片に含まれる自然言語文について、言語処理モデルM2に含まれるエンベディング層L1を用いて生成されたエンベディングを取得する。
【0026】
生成部12Aは、エンベディングの各々を行または列としてラベルに基づく順に並べた行列から、当該行列の各要素を画素値に変換した画像データを生成する。例えば、生成部12Aは、当該行列に含まれる複数の行を、各行の各要素から算出される第1の代表値に基づき並べ替えた行列から画像データを生成してもよい。また、例えば、生成部12Aは、当該行列に含まれる複数の列を、各列の各要素から算出される第2の代表値に基づき並べ替えた行列から画像データを生成してもよい。また、例えば、生成部12Aは、当該行列の要素の最小値から最大値までに対して、複数の色の間を所定数の階調で表した画素値を割り当てることにより、当該行列の各要素を画素値に変換してもよい。
【0027】
検出部13Aは、画像データの特徴として、画素値の変化に基づく第1境界を検出する。例えば、検出部13Aは、画素値の変化に基づいて検出した第1境界の候補のうち、画像データにおいてエンベディングに対応する行または列の方向に平行な候補を、第1境界として検出してもよい。また、例えば、検出部13Aは、画像データの一辺に平行な平行線に含まれる、1または複数の平行な候補の長さの合計が、当該一辺の長さに対して所定割合以上の場合に、当該平行線を第1境界として検出してもよい。
【0028】
評価部14Aは、画像データにおいてラベルが互いに異なるエンベディングに対応する行または列の間を示す第2境界と、第1境界との比較結果に基づいて、エンベディング層の品質を評価する。例えば、評価部14Aは、第2境界の個数に対する、第2境界に整合すると判定した第1境界の個数の割合を示す再現率に基づいて、エンベディング層の品質を評価してもよい。また、例えば、評価部14Aは、第2境界の個数に対する第1境界の個数の割合を示す検出倍率に基づいて、エンベディング層の品質を評価してもよい。
出力部15Aは、評価部14Aによる評価結果、および生成部12Aが生成した画像データの一方または両方を出力する。
【0029】
また、評価部14Aは、同一の訓練データセットDS1を用いて得られた第1の評価結果および第2の評価結果が何れも判定基準を満たさない場合に、当該訓練データセットDS1の品質が基準を満たさないと評価する。ここで、第1の評価結果は、言語処理モデルとして言語処理モデルM2を適用して、取得部11A、生成部12A、検出部13A、および評価部14Aを機能させることにより得られたエンベディング層の品質の評価結果である。また、第2の評価結果は、言語処理モデルとして言語処理モデルM2-1を適用して、取得部11A、生成部12A、検出部13A、および評価部14Aを機能させることにより得られたエンベディング層の品質の評価結果である。言語処理モデルM2-1は、言語処理モデルM2とは異なるモデルである。例えば、言語処理モデルM2-1は、事前学習モデルM1とは異なる事前学習モデルM1-1が、同一の訓練データセットDS1を用いてファインチューニングされることにより生成されたモデルであってもよい。
【0030】
(評価方法S1Aの流れ)
以上のように構成された評価装置1Aは、評価方法S1Aを実行する。評価方法S1Aの流れについて、
図4を参照して説明する。
図4は、評価方法S1Aの流れを説明するフロー図である。
図4に示すように、評価方法S1Aは、ステップS11A~S15Aを含む。
【0031】
ステップS11Aにおいて、取得部11Aは、言語処理モデルM2に含まれるエンベディング層L1を用いて、訓練データセットDS1の各訓練データ片に含まれる自然言語文のエンベディングを取得する。
【0032】
図5は、ステップS11Aにおいて取得されるエンベディングの一例を示す模式図である。
図5に示す訓練データセットDS1は、訓練データ片D1~D8を含む。例えば、訓練データ片D1は、自然言語文ラベル「ラベル1」および「テキスト1」のペアを含む。ラベル「ラベル1」は、自然言語文「テキスト1」の分類を示す。エンベディングE1は、言語処理モデルM2のエンベディング層L1に自然言語文「テキスト1」を入力して得られたエンベディングであり、各要素は数値で表されている。訓練データ片D2~D8、およびエンベディングE2~E8についても、訓練データ片D1およびエンベディングE1と同様に説明される。以降では、記載を簡略化するため、「ラベルに関連付けられた自然言語文から取得されたエンベディング」を、「ラベルに関連付けられたエンベディング」等とも記載する。
【0033】
図4に示すステップS12Aにおいて、生成部12Aは、エンベディングの各々を行または列として含む行列から、当該行列の各要素を画素値に変換した画像データを生成する。
図6は、ステップS12Aにおける生成処理の詳細な流れを示すフロー図である。
図6に示すように、生成処理(ステップS12A)は、ステップS21~S26を含む。
【0034】
ステップS21において、生成部12Aは、エンベディングの各々を行または列として含む行列を生成する。ここでは、エンベディングの各々を行として含む行列を生成した例について、以降説明する。なお、エンベディングの各々を列として含む行列を作成した場合については、以降の説明において、「行」および「列」を互いに読み替えることにより同様に説明される。
【0035】
ステップS22において、生成部12Aは、複数の行をラベルに基づき並べ替える。ステップS23において、生成部12Aは、同一のラベルに関連付けられた複数のエンベディングがある場合、当該複数のエンベディングに対応する複数の行を、各行から算出される第1の代表値に基づき並べ替えてもよい。これにより、ラベルが同一の複数の行は、第1の代表値に基づき並べ替えられる。
【0036】
第1の代表値の具体例としては、例えば、平均、分散、次元圧縮により得られた値、等があるが、これらに限られない。また、第1の代表値に加えて、第1の代表値とは異なる種類の第3の代表値が用いられてもよい。例えば、生成部12Aは、ラベル、第1の代表値、および第3の代表値をこの順に参照して並べ替えを行ってもよい。この場合、ラベルおよび第1の代表値が何れも同一の複数の行は、第3の代表値に基づき並べ替えられる。なお、複数の行を並べ替えるためにラベルの次に参照される代表値の種類数は、1または2に限らず、3以上であってもよい。また、行の並べ替えのために複数種類の代表値を参照する順序は、上述した例に限られない。
【0037】
ステップS24において、生成部12Aは、当該行列に含まれる複数の列を並べ替える。一例として、生成部12Aは、複数の列を、各列から算出される第2の代表値に基づき並べ替える。
【0038】
第2の代表値の具体例については、ステップS22で述べた第1の代表値と同様である。第1の代表値および第2の代表値は、同種類であってもよいし、異なる種類であってもよい。また、第2の代表値に加えて、第2の代表値とは異なる種類の第4の代表値が用いられてもよい。例えば、生成部12Aは、複数の列に対して、第2の代表値、および第4の代表値をこの順に参照して並べ替えを行ってもよい。この場合、第2の代表値が同一の複数の列は、第4の代表値に基づき並べ替えられる。なお、複数の列を並べ替えるために参照される代表値の種類数は、1または2に限らず、3以上であってもよい。また、列の並べ替えのために複数種類の代表値を参照する順序は、上述した例に限られない。
【0039】
なお、ステップS23、S24の処理は、この順で実行されることに限らず、順序を逆に、あるいは並行して実施されてもよい。また、ステップS23、S24の処理は必ずしも実行されなくてもよい。換言すると、行列は、少なくともラベルに基づき並べ替えられていればよい。
【0040】
図7は、ラベルに基づき並べ替えられた行列の一例を示す模式図である。
図7に示すように、行列Aは、
図5に示したエンベディングE1~E8にそれぞれ対応する行を含む8行7列の行列である。なお、ここでは、エンベディングE1~E8が7次元であるものとしているため、列数が7となっている。これらの複数の行は、各行に対応するエンベディングに関連付けられたラベル「ラベル1」、「ラベル2」、「ラベル3」に基づき並べ替えられている。この例では、複数の行の第1の代表値による並べ替え、および複数の列の第2の代表値による並べ替えは行われていない。
【0041】
図6に示すステップS25において、生成部12Aは、当該行列の要素の最小値から最大値までに対して、複数の色の間を所定数の階調で表した画素値を割り当てる。例えば、複数の色は、2色であってもよいし、3色以上であってもよい。なお、エンベディング層L1から取得されるエンベディングの各要素がとり得る最小値および最大値は、事前学習モデルM1に応じて定まる。
図8は、画素値の割り当ての具体例を示す模式図である。
図8において、行列の要素の最小値は「-1」であり、最大値は「1」であるものとする。
【0042】
マッピング例1は、最小値「-1」に白を割り当て、最大値「1」に黒を割り当て、-1から1までの数値に対して白から黒までを所定数の階調で表した画素値(所謂、グレースケールの画素値)を割り当てる例を示している。マッピング例1では、白から黒までを11階調で表す例を示しているが、階調数はこれに限られない。例えば、白から黒までの階調数は、256階調であってもよい。
【0043】
また、マッピング例2は、最小値「-1」に青を割り当て、中間値「0」に白を割り当て、最大値「1」に赤を割り当てる例を示している。また、この例では、-1から0までの数値に対して青から白までを所定数の階調で表した画素値を割り当て、0から1までの数値に対しては白から赤までを所定数の階調で表した画素値を割り当てている。マッピング例2では、青から白までを6階調で表し、白から赤までを6階調で表すことにより、全体を11階調で表す例を示しているが、階調数はこれに限られない。例えば、青から白までを256階調とし、白から赤までを256階調とする場合、最小値「-1」から最大値「1」までに512階調の画素値が割り当てられることになる。
【0044】
なお、画素値の割り当てに用いる色は、
図8に示したような2色または3色に限らず、4色以上であってもよい。また、割り当てに用いる色の種類は、上述した例に限られない。
【0045】
図6に示すステップS26において、生成部12Aは、ステップS25で算出した画素値の割り当てにしたがって、行列の各要素を画素値に変換する。これにより、画像データが生成される。
図9は、エンベディングを各行に含む行列から生成された画像データの一例を示す模式図である。
図9において、画像データIMG1は、
図7に示した行列Aに含まれる各要素に対して、
図8に示すマッピング例1による変換処理を施して生成された、グレースケールの画像データである。画像データIMG1は、訓練データ片の個数8を縦の画素数として有し、エンベディングの次元数7を横の画素数として有する。なお、
図9において、各画素を示すセルに含まれる数値は、当該画素に対応する行列Aの要素を分かり易さのために示したものであり、画像データIMG1に数値形状の図形が含まれることを示すものではない。
【0046】
このようにして生成された画像データは、縦の画素数が訓練データ片の数であり、横の画素数がエンベディングの次元数である。なお、生成部12Aは、生成した画像データを拡大した画像データを用いて、ステップS13A以降の処理を行ってもよい。例えば、
図9の例では、縦横の画素数が8×7の画像データを縦横2倍に拡大した16×14の画像データを用いてもよい。これにより、拡大しない場合と比べて第1境界の検出処理が容易になる可能性がある。また、画像データを拡大する場合、必ずしも縦横比を維持しなくてもよい。例えば、縦の画素数が横の画素数に比べて少ない(または多い)場合、縦の拡大比率を横の拡大比率より大きく(または小さく)してもよい。なお、画像データを拡大する場合の倍率は、上述した例に限られない。以上で、
図6に示したステップS12Aの詳細な説明を終了する。
【0047】
図6に示すステップS13Aにおいて、検出部13Aは、画像データの特徴として、画素値の変化に基づく第1境界を検出する。
図10は、ステップS13Aにおける検出処理の詳細な流れを示すフロー図である。
図10に示すように、検出処理(ステップS13A)は、ステップS31~S33を含む。
【0048】
ステップS31において、検出部13Aは、画像データにおいて、画素値の変化に基づき第1境界の候補を検出する。ここで、検出すべき第1境界は、後述する直線状の第2境界に整合する境界である。このため、検出すべき第1境界は、直線状である。そこで、例えば、第1境界の候補を検出する処理には、画像データから画素値の変化に基づく直線を検出する公知の技術を採用可能である。公知の技術としては、LSD(Line Segment Detector)、Hough変換等があるが、これらに限られない。検出部13Aは、第1境界の候補として、1または複数の線分を検出する。
【0049】
ステップS32において、検出部13Aは、検出した1または複数の第1境界の候補のうち、画像データの行方向に平行でないと判定した候補(平行線以外)を削除する。例えば、検出部13Aは、行方向に対して角度θまでの傾きを許容範囲として、行方向とのなす角度がθより大きい候補を行方向に平行でないと判定して、候補から削除してもよい。これにより、1または複数の第1境界の候補は、何れも行方向に平行となる。これは、検出すべき第1境界は、エンベディングに対応する行の方向に平行な後述の第2境界に整合する境界であるという理由による。
【0050】
ステップS33において、検出部13Aは、画像データの一辺に平行な平行線に、1または複数の第1境界の候補が含まれ、且つ、当該1または複数の第1境界の候補の長さの合計が当該一辺の長さの所定割合以上である場合に、当該平行線を第1境界として検出する。例えば、所定割合としては、画像データの行方向の一辺の画素数(画像データを拡大していない場合は、エンベディングの次元数に相当)の10%等を適用してもよい。例えば、エンベディングの次元数が700次元であれば、平行線に含まれる第1境界の候補の長さの合計が70画素以上であれば、当該平行線は第1境界として検出される。
【0051】
図11は、画像データにおいて検出された第1境界の一例を示す模式図である。
図11において、第1境界の候補a11、a12は、画像データIMG1の行方向に平行な平行線A1に含まれている。また、候補a11およびa12の長さの合計は、画像データIMG1の行方向に平行な一辺の長さdの所定割合(例えば、10%等)以上である。そこで、検出部13Aは、平行線A1を、第1境界A1として検出する。また、
図11において、第1境界の候補a13は平行線A2に含まれており、候補a13の長さは一辺の長さdの所定割合以上である。このため、平行線A2は、第1境界A2として検出されている。同様に、候補a14を含む平行線A3が第1境界A3として検出されるとともに、候補a15を含む平行線A4が第1境界A4として検出されている。
【0052】
なお、検出部13Aは、ステップS31において、行方向に平行な一辺の長さの所定割合以上の長さを有する線分を第1境界の候補として検出するようにしてもよい。この場合、ステップS33の処理は省略可能である。以上で、
図6に示したステップS13Aの詳細な説明を終了する。
【0053】
図6に示すステップS14Aにおいて、評価部14Aは、第1境界および第2境界の比較結果に基づいて、エンベディング層の品質を評価する。
図12は、ステップS14Aにおける評価処理の詳細な流れを示すフロー図である。
図12に示すように、評価処理(ステップS14A)は、ステップS41~S44を含む。
【0054】
ステップS41において、評価部14Aは、ステップS13Aで検出した1または複数の第1境界の各々が、1または複数の第2境界の何れかに整合するか否かを判定する。ここでは、画像データが、エンベディングを行として含む行列から生成されている例について説明している。このため、第2境界は、画像データにおいてラベルが互いに異なるエンベディングに対応する行の間を示す。当該ステップS41の処理の具体例について、
図11を参照して説明する。
【0055】
図11に示した画像データIMG1において、1~3行目は、ラベル1が関連付けられたエンベディングに対応している。4~6行目は、ラベル1が関連付けられたエンベディングに対応している。7~8行目は、ラベル1が関連付けられたエンベディングに対応している。このため、ラベル1に対応する3行目およびラベル2に対応する4行目の間を示す線は、第2境界B1である。ラベル2に対応する6行目およびラベル3に対応する7行目の間を示す線は、第2境界B2である。評価部14Aは、第1境界A1に整合する第2境界はないと判定する。また、評価部14Aは、第1境界A2は第2境界B1に整合すると判定する。また、評価部14Aは、第1境界A3に整合する第2境界はないと判定する。また、評価部14Aは、第1境界A4は第2境界B2に整合すると判定する。
【0056】
ステップS42において、評価部14Aは、再現率を算出する。ここで、再現率は、第2境界の個数に対する、第2境界に整合すると判定した第1境界の個数の割合である。
図11の例では、整合すると判定した第1境界の個数は、第1境界
A2、A4の2つであり、第2境界の個数はB1~B2の2つである。したがって、再現率として1が算出される。
【0057】
ステップS43において、評価部14Aは、検出倍率を算出する。ここで、検出倍率は、第2境界の個数に対する第1境界の個数の割合である。
図11の例では、第1境界の個数はA1~A4の4つであり、第2境界の個数はB1~B2の2つである。したがって、検出倍率として2が算出される。
【0058】
ステップS44において、評価部14Aは、再現率および検出倍率を参照し、判定基準に基づいて、エンベディング層の品質を評価する。例えば、判定基準は、再現率が第1閾値以上であること、および、検出倍率が第2閾値以下であること、の両方を満たすとの基準であってもよい。また、この場合、評価結果は、判定基準が満たされるか否かに応じた品質の良否を示すものであってもよい。第1閾値として1を適用し、第2閾値として50を適用する場合、
図11の例では、再現率1および検出倍率2が何れも判定基準を満たすので、品質は良好と判定される。なお、判定基準は、上述した例に限られない。また、評価結果は、良否の2値に限らず、3段階以上(例えば、良い、普通、悪い等)、または、品質の良さを示すスコア等によって表されてもよい。以上で、
図6に示したステップS14Aの詳細な説明を終了する。
【0059】
図6に示すステップS15Aにおいて、出力部15Aは、評価部14Aによる評価結果および、生成部12Aが生成した画像データの一方または両方を、表示装置3に出力する。例えば、出力する評価結果は、エンベディング層の品質の良否を示す情報を含んでいてもよい。エンベディング層の品質が良いことを示す情報の一例としては、「この言語処理モデルのエンベディング層は適切と判定しました。」との文字情報が挙げられる。また、エンベディング層の品質が良くないことを示す情報の一例としては、「この言語処理モデルのエンベディング層は適切ではないと判定しました。訓練データセットの確認、事前学習モデルの変更を検討して下さい。」等との文字情報が挙げられる。また、出力する評価結果は、再現率および検出倍率を示す情報を含んでいてもよい。また、出力する評価結果は、エンベディング層の品質の良否を判定するために用いた判定基準を示す情報を含んでいてもよい。
【0060】
また、出力する画像データには、第1境界および第2境界を示す線が重畳されていてもよい。また、出力する画像データに重畳される第1境界は、第2境界に整合したか否かが判別可能な表示態様であってもよい。また、出力する画像データに重畳される第2境界は、第1境界に整合したか否かが判別可能な表示態様であってもよい。判別可能な表示態様とは、例えば、色、太さ、線の種類等を異ならせた態様であってもよい。以上で、評価方法S1Aの説明を終了する。
【0061】
(評価方法S1Aの変形例)
評価方法S1Aは、次のように変形することができる。評価装置1Aは、1回目のステップS11A~S14Aの実行により得られたエンベディング層の品質の評価結果(以降、第1の評価結果と記載)が判定基準を満たさないと判定した場合、2回目のステップS11A~S14Aを実行してもよい。2回目のステップS11A~S14Aでは、1回目と同一の訓練データセットDS1と、1回目とは異なる言語処理モデルM2-1とが用いられる。言語処理モデルM2-1は、前述したように、事前学習モデルM1とは異なる事前学習モデルM1-1に基づき、同一の訓練データセットDS1を用いて生成されたモデルであってもよい。2回目のステップS11A~S14Aの実行により、エンベディング層の品質の評価結果(以降、第2の評価結果と記載)が得られる。
【0062】
本変形例では、評価部14Aは、2回目のステップS14Aの実行後、第2の評価結果が判定基準を満たすか否かを判定する。第2の評価結果も第1の評価結果と同様に判定基準を満たさない場合、評価部14Aは、訓練データセットDS1の品質が基準を満たさないと評価する。つまり、言語処理モデルM2、M2-1の性能が良くない場合の原因が、訓練データセットDS1に絞りこまれる。
【0063】
なお、評価部14Aは、第1の評価結果が判定基準を満たさない場合に、2回目のみに限らず複数回(例えば、2回目、3回目、…)、ステップS11A~S14Aを実行してもよい。例えば、評価部14Aは、第1の評価結果が判定基準を満たさない場合に、同一の訓練データセットDS1と、2以上の互いに異なる複数の言語処理モデル(M2-1、M2-2、…)と、を用いて、2以上の評価結果(第2の評価結果、第3の評価結果、…)を取得してもよい。例えば、複数の言語処理モデル(M2、M2-1、M2-2、…)は、互いに異なる複数の事前学習モデル(M1、M1-1、M1-2、…)が同一の訓練データセットDS1を用いてファインチューニングされたものであってもよい。この場合、評価部14Aは、3以上の評価結果(第1の評価結果、第2の評価結果、第3の評価結果、…)の統計値に基づいて、訓練データセットDS1の品質を評価してもよい。例えば、3以上の評価結果のうち所定割合以上が基準を満たさない場合に、評価部14Aは、訓練データセットDS1の品質が基準を満たさないと評価してもよい。
【0064】
また、この場合、出力部15Aは、ステップS15Aにおいて、訓練データセットDS1の品質が基準を満たさないことを示す情報を出力してもよい。そのような情報の一例としては、「同一の訓練データセットを用いて生成した複数の言語処理モデルのエンベディング層がいずれも適切ではないと判定されました。当該訓練データセットに原因があると考えられますので確認してください」等の文字情報が挙げられる。
【0065】
また、評価装置1Aは、第1の評価結果が判定基準を満たす場合には、2回目以降を実行せずに、上述と同様にしてステップS15Aを実行してもよい。また、評価装置1Aは、第1の評価結果に関わらず、2回目以降を実行してもよい。
【0066】
(具体例)
ここで、評価方法S1Aを実行した具体例について、
図13~
図14を参照して説明する。本具体例においては、事前学習モデルM1として日本語BERTを用い、2749件の訓練データ片からなる訓練データセットDSを用いて生成した言語処理モデルM2を対象とした。この例では、事前学習モデルM1が出力するエンベディングは768次元であるため、エンベディング層L1から取得されるエンベディングも同様に768次元である。
【0067】
図13は、本具体例においてステップS12Aで生成された画像データを示す図である。
図13において、画像データIMG101~IMG107は、2749件の訓練データ片からそれぞれ取得した768次元のエンベディングを行に含む行列から生成されているため、縦横の画素数が2749×768である。また、画像データIMG101~IMG107は、当該行列に対して
図8に示すマッピング例2による変換処理を施して生成されているため、3色カラースケールの画像データである。
【0068】
ここで、画像データIMG101は、ラベルに基づく行の並べ替えを行った行列から生成された画像データである。画像データIMG101では、ラベルに基づく行の並べ替え以外の行および列の並べ替えは行われていない。
【0069】
画像データIMG102~IMG103は、ラベルに基づく行の並べ替えに加え、列の並べ替えを行った行列から生成されている。画像データIMG102では、列の並べ替えは、各列の平均(第2の代表値の一例)に基づき行われている。画像データIMG103では、列の並べ替えは、各列の分散(第2の代表値の一例)に基づき行われている。
【0070】
画像データIMG104~IMG106は、ラベルに基づく行の並べ替えに加え、ラベルが同一の複数の行の並べ替えを行った行列から生成されている。画像データIMG104では、ラベルが同一の複数の行の並べ替えは、各行の平均(第1の代表値の一例)に基づき行われている。画像データIMG105では、ラベルが同一の複数の行の並べ替えは、各行の分散(第1の代表値の一例)に基づき行われている。
【0071】
画像データIMG106では、ラベルが同一の複数の行の並べ替えは、各行からt-SNE(t-distributed Stochastic Neighbor Embedding)により求めた値(第1の代表値の一例)に基づき行われている。以降では、t-SNEにより求めた値をt-SNE値とも記載している。この例では、t-SNE値としては、768次元の行をt-SNEにより1次元に圧縮した値を適用している。ただし、t-SNE値を用いて並べ替えを行う場合、圧縮後の次元数およびそのうち何番目の要素を並べ替えに用いるかは、上述した例に限られない。
【0072】
なお、
図12には示していないが、t-SNE値に基づく並べ替えは、行に限らず列に適用されもよい。つまり、ラベルに基づく行の並べ替えに加え、各列からt-SNEにより求めた値(第2の代表値の一例)に基づき列の並べ替えを行った行列から、画像データが生成されてもよい。
【0073】
画像データIMG107は、ラベルに基づく行の並べ替えに加え、ラベルが同一の複数の行の並べ替えを各行の分散(第1の代表値の一例)に基づき行うとともに、列の並べ替えを各列の平均(第2の代表値の一例)に基づき行った行列から生成されている。
【0074】
なお、画像データを生成するために行の並べ替えおよび列の並べ替えの両方を行う場合において、第1の代表値および第2の代表値の組み合わせは、上述した例に限られない。例えば、
図12には示していないが、ラベルが同一の複数の行の並べ替えを「平均、分散、t-SNE値」の3通りの何れかに基づき行うとともに、列の並べ替えを「平均、分散、t-SNE値」の3通りの何れかに基づき行った行列から画像データが生成されてもよい。
【0075】
図14は、本具体例における第1境界および第2境界を示す図である。
図14では、画像データIMG107の内部に示された線分は、第1境界の候補を示している。また、この例では、このような第1境界の候補に基づいて、第1境界A101~A117が検出されている。また、画像データIMG107上において第2境界B101~B103は、ラベルが異なる行の間の線を示す。第1境界A101~A117のうち、第1境界A102は、第2境界B101に整合している。第1境界A103は、第2境界B102に整合している。第1境界A117は、第2境界B103に整合している。再現率としては、第2境界の個数「3」に対する整合した個数「3」の割合として、「1」が算出される。検出倍率としては、第2境界の個数「3」に対する第1境界の個数「17」の割合として約「5.7」が算出される。判定基準として「再現率が1以上、且つ、検出倍率が50以下」を適用する場合、エンベディング層L1の品質は良好と評価される。
【0076】
(適用例)
本例示的実施形態に係る評価装置1Aは、例えば、医療用の電子カルテシステムにおいて電子カルテを分類する言語処理モデルを対象として、その性能が悪い場合に原因を絞り込む用途に用いることができる。
【0077】
(本例示的実施形態の効果)
以上のように、本例示的実施形態に係る評価装置1Aにおいては、例示的実施形態1と同様の構成に加えて、言語処理モデルは、分類タスクを実行するモデルであり、訓練データ片は、自然言語文および当該自然言語文の分類を示すラベルを関連付けた情報を含み、生成部12Aは、複数のエンベディングの各々を行または列としてラベルに基づく順に並べた行列から画像データを生成し、検出部13Aは、画像データの特徴として、画素値の変化に基づく第1境界を検出し、評価部14Aは、画像データにおいてラベルが互いに異なるエンベディングに対応する行または列の間を示す第2境界と、第1境界との比較結果に基づいて、エンベディング層の品質を評価する、という構成が採用されている。
【0078】
このため、本例示的実施形態によれば、分類タスクを行う言語処理モデルの性能が良くないであって、当該言語処理モデルに含まれるエンベディング層の品質が良くない場合には、訓練データセット、事前学習モデル、または学習アルゴリズムが原因である可能性が高いことがわかる。また、エンベディング層の品質が良い場合には、分類層の品質がよくないと考えられ、ハイパーパラメータが原因の可能性が高いことがわかる。その結果、分類タスクを行う言語処理モデルの性能が良くない場合にその原因を絞り込むことができる。
【0079】
また、本例示的実施形態に係る評価装置1Aにおいては、評価部14Aは、第2境界の個数に対する、第2境界に整合すると判定した第1境界の個数の割合を示す再現率に基づいて、エンベディング層の品質を評価する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、エンベディング層の品質をより精度よく評価することができる、という効果が得られる。
【0080】
また、本例示的実施形態に係る評価装置1Aにおいては、評価部14Aは、第2境界の個数に対する第1境界の個数の割合を示す検出倍率に基づいて、エンベディング層の品質を評価する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、エンベディング層の品質をより精度よく評価することができる、という効果が得られる。
【0081】
また、本例示的実施形態に係る評価装置1Aにおいては、生成部12Aは、上述した行列に含まれる複数の行を、各行の各要素から算出される第1の代表値に基づき並べ替えた行列から上述した画像データを生成する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、第2境界に整合する第1境界をより精度よく検出することができる、という効果が得られる。
【0082】
また、本例示的実施形態に係る評価装置1Aにおいては、生成部12Aは、上述した行列に含まれる複数の列を、各列の各要素から算出される第2の代表値に基づき並べ替えた行列から画像データを生成する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、第2境界に整合する第1境界をより精度よく検出することができる、という効果が得られる。
【0083】
また、本例示的実施形態に係る評価装置1Aにおいては、言語処理モデルとして言語処理モデルM2を適用して、取得部11A、生成部12A、検出部13A、および評価部14Aを機能させることにより得られたエンベディング層の品質の評価結果を第1の評価結果としている。また、言語処理モデルとして言語処理モデルM2とは異なる言語処理モデルM2-1を適用して、取得部11A、生成部12A、検出部13A、および評価部14Aを機能させることにより得られたエンベディング層の品質の評価結果を第2の評価結果としている。また、評価部14Aは、同一の訓練データセットDS1を用いて得られた第1の評価結果および第2の評価結果が何れも基準を満たさない場合に、当該訓練データセットDS1の品質が基準を満たさないと評価する、という構成が採用されている。このため、本例示的実施形態によれば、言語処理モデルの性能が良くない場合の原因を訓練データセットに絞り込むことができる。という効果が得られる。
【0084】
また、本例示的実施形態に係る評価装置1Aにおいては、生成部12Aは、上述した行列の要素の最小値から最大値までに対して、複数の色の間を所定数の階調で表した画素値を割り当てることにより、行列の各要素を画素値に変換する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、第2境界に整合する第1境界をより精度よく検出することができる、という効果が得られる。
【0085】
また、本例示的実施形態に係る評価装置1Aにおいては、評価部14Aによる評価結果、および生成部12Aが生成した画像データの一方または両方を出力する出力部15Aをさらに含む、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、ユーザは、エンベディング層の品質の評価結果を認識することができる、という効果が得られる。
【0086】
また、本例示的実施形態に係る評価装置1Aにおいては、検出部13Aは、画素値の変化に基づいて検出した第1境界の候補のうち、画像データにおいてエンベディングに対応する行または列の方向に平行な候補を、第1境界として検出する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、第2境界に整合しない第1境界の検出を軽減することができる、という効果が得られる。
【0087】
また、本例示的実施形態に係る評価装置1Aにおいては、検出部13Aは、画像データの一辺に平行な平行線に含まれる、1または複数の平行な候補の長さの合計が、当該一辺の長さに対して所定割合以上の場合に、当該平行線を第1境界として検出する、という構成が採用されている。このため、本例示的実施形態によれば、上述した効果に加えて、第2境界に整合しない第1境界の検出を軽減することができる、という効果が得られる。
【0088】
〔変形例〕
上述した例示的実施形態2では、言語処理モデルが分類タスクを実行するモデルである例について説明した。ただし、言語処理モデルは、分類タスクに限らず、その他の言語処理タスクを実行するモデルであってもよい。
【0089】
また、上述した例示的実施形態2では、評価装置1Aは、評価システム10に含まれるものとして説明したが、評価装置1Aは、必ずしも評価システム10に含まれていなくてもよい。例えば、評価装置1Aは、訓練データセットDS1に含まれる訓練データ片の各々についてエンベディング層L1を用いて生成されたエンベディングが記憶された記憶装置にアクセス可能であれば、訓練データセットDS1自体およびエンベディング層L1自体にアクセス可能でなくてもよい。
【0090】
〔ソフトウェアによる実現例〕
評価装置1、1A(以降、当該装置と記載)の一部又は全部の機能は、集積回路(ICチップ)等のハードウェアによって実現してもよいし、ソフトウェアによって実現してもよい。
【0091】
後者の場合、当該装置は、例えば、各機能を実現するソフトウェアであるプログラムの命令を実行するコンピュータによって実現される。このようなコンピュータの一例(以下、コンピュータCと記載する)を
図15に示す。コンピュータCは、少なくとも1つのプロセッサC1と、少なくとも1つのメモリC2と、を備えている。メモリC2には、コンピュータCを当該装置として動作させるためのプログラムPが記録されている。コンピュータCにおいて、プロセッサC1は、プログラムPをメモリC2から読み取って実行することにより、当該装置の各機能が実現される。
【0092】
プロセッサC1としては、例えば、CPU(Central Processing Unit)、GPU(Graphic Processing Unit)、DSP(Digital Signal Processor)、MPU(Micro Processing Unit)、FPU(Floating point number Processing Unit)、PPU(Physics Processing Unit)、TPU(Tensor Processing Unit)、量子プロセッサ、マイクロコントローラ、又は、これらの組み合わせなどを用いることができる。メモリC2としては、例えば、フラッシュメモリ、HDD(Hard Disk Drive)、SSD(Solid State Drive)、又は、これらの組み合わせなどを用いることができる。
【0093】
なお、コンピュータCは、プログラムPを実行時に展開したり、各種データを一時的に記憶したりするためのRAM(Random Access Memory)を更に備えていてもよい。また、コンピュータCは、他の装置との間でデータを送受信するための通信インタフェースを更に備えていてもよい。また、コンピュータCは、キーボードやマウス、ディスプレイやプリンタなどの入出力機器を接続するための入出力インタフェースを更に備えていてもよい。
【0094】
また、プログラムPは、コンピュータCが読み取り可能な、一時的でない有形の記録媒体Mに記録することができる。このような記録媒体Mとしては、例えば、テープ、ディスク、カード、半導体メモリ、又はプログラマブルな論理回路などを用いることができる。コンピュータCは、このような記録媒体Mを介してプログラムPを取得することができる。また、プログラムPは、伝送媒体を介して伝送することができる。このような伝送媒体としては、例えば、通信ネットワーク、又は放送波などを用いることができる。コンピュータCは、このような伝送媒体を介してプログラムPを取得することもできる。
【0095】
〔付記事項1〕
本発明は、上述した実施形態に限定されるものでなく、請求項に示した範囲で種々の変更が可能である。例えば、上述した実施形態に開示された技術的手段を適宜組み合わせて得られる実施形態についても、本発明の技術的範囲に含まれる。
【0096】
〔付記事項2〕
上述した実施形態の一部又は全部は、以下のようにも記載され得る。ただし、本発明は、以下の記載する態様に限定されるものではない。
(付記1)
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、
前記画像データの特徴を検出する検出手段と、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、
を含む、評価装置。
【0097】
(付記2)
前記言語処理モデルは、分類タスクを実行するモデルであり、
前記訓練データ片は、前記自然言語文および当該自然言語文の分類を示すラベルを関連付けた情報を含み、
前記生成手段は、複数の前記エンベディングの各々を行または列として前記ラベルに基づく順に並べた前記行列から前記画像データを生成し、
前記検出手段は、前記画像データの特徴として、画素値の変化に基づく第1境界を検出し、
前記評価手段は、前記画像データにおいて前記ラベルが互いに異なるエンベディングに対応する行または列の間を示す第2境界と、前記第1境界との比較結果に基づいて、前記エンベディング層の品質を評価する、
付記1に記載の評価装置。
【0098】
(付記3)
前記評価手段は、前記第2境界の個数に対する、前記第2境界に整合すると判定した前記第1境界の個数の割合を示す再現率に基づいて、前記エンベディング層の品質を評価する、
付記2に記載の評価装置。
【0099】
(付記4)
前記評価手段は、前記第2境界の個数に対する前記第1境界の個数の割合を示す検出倍率に基づいて、前記エンベディング層の品質を評価する、
付記2または3に記載の評価装置。
【0100】
(付記5)
前記生成手段は、前記行列に含まれる複数の行を、各行の各要素から算出される第1の代表値に基づき並べ替えた行列から前記画像データを生成する、
付記1から4の何れか1つに記載の評価装置。
【0101】
(付記6)
前記生成手段は、前記行列に含まれる複数の列を、各列の各要素から算出される第2の代表値に基づき並べ替えた行列から前記画像データを生成する、
付記1から5の何れか1つに記載の評価装置。
【0102】
(付記7)
前記言語処理モデルとして第1の言語処理モデルを適用して、前記取得手段、前記生成手段、前記検出手段、および前記評価手段を機能させることにより得られた前記エンベディング層の品質の評価結果を第1の評価結果とし、
前記言語処理モデルとして前記第1の言語処理モデルとは異なる第2の言語処理モデルを適用して、前記取得手段、前記生成手段、前記検出手段、および前記評価手段を機能させることにより得られた前記エンベディング層の品質の評価結果を第2の評価結果とし、
前記評価手段は、
同一の前記複数の訓練データ片を用いて得られた前記第1の評価結果および前記第2の評価結果が何れも所定基準を満たさない場合に、当該複数の訓練データ片の品質が基準を満たさないと評価する、
付記1から6の何れか1つに記載の評価装置。
【0103】
(付記8)
前記生成手段は、前記行列の要素の最小値から最大値までに対して、複数の色の間を所定数の階調で表した画素値を割り当てることにより、前記行列の各要素を画素値に変換する、
付記1から7の何れか1つに記載の評価装置。
【0104】
(付記9)
前記評価手段による評価結果、および前記生成手段が生成した画像データの一方または両方を出力する出力手段をさらに含む、
付記1から8の何れか1つに記載の評価装置。
【0105】
(付記10)
前記検出手段は、前記画素値の変化に基づいて検出した第1境界の候補のうち、前記画像データにおいて前記エンベディングに対応する行または列の方向に平行な候補を、前記第1境界として検出する、
付記2から4の何れか1つに記載の評価装置。
【0106】
(付記11)
前記検出手段は、前記画像データの一辺に平行な平行線に含まれる、1または複数の前記平行な候補の長さの合計が、当該一辺の長さに対して所定割合以上の場合に、当該平行線を前記第1境界として検出する、
付記10に記載の評価装置。
【0107】
(付記12)
少なくとも1つのプロセッサが実行する評価方法であって、
前記少なくとも1つのプロセッサが、
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得することと、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成することと、
前記画像データの特徴を検出することと、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価することと、
を含む、評価方法。
【0108】
(付記13)
コンピュータを、
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得手段と、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成手段と、
前記画像データの特徴を検出する検出手段と、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価手段と、として機能させるプログラム。
〔付記事項3〕
上述した実施形態の一部又は全部は、更に、以下のように表現することもできる。
【0109】
(付記1)
少なくとも1つのプロセッサを備え、前記少なくとも1つのプロセッサは、
複数の訓練データ片にそれぞれ含まれる自然言語文について、言語処理モデルに含まれるエンベディング層を用いて生成されたエンベディングを取得する取得処理と、
複数の前記エンベディングの各々を行または列として含む行列の各要素を画素値に変換することにより画像データを生成する生成処理と、
前記画像データの特徴を検出する検出処理と、
前記画像データの特徴に基づいて、前記エンベディング層の品質を評価する評価処理と、
を実行する、評価装置。
【0110】
(付記2)
前記言語処理モデルは、分類タスクを実行するモデルであり、
前記訓練データ片は、前記自然言語文および当該自然言語文の分類を示すラベルを関連付けた情報を含み、
前記生成処理において、前記少なくとも1つのプロセッサは、複数の前記エンベディングの各々を行または列として前記ラベルに基づく順に並べた前記行列から前記画像データを生成し、
前記検出処理において、前記少なくとも1つのプロセッサは、前記画像データの特徴として、画素値の変化に基づく第1境界を検出し、
前記評価処理において、前記少なくとも1つのプロセッサは、前記画像データにおいて前記ラベルが互いに異なるエンベディングに対応する行または列の間を示す第2境界と、前記第1境界との比較結果に基づいて、前記エンベディング層の品質を評価する、
付記1に記載の評価装置。
【0111】
(付記3)
前記評価処理において、前記少なくとも1つのプロセッサは、前記第2境界の個数に対する、前記第2境界に整合すると判定した前記第1境界の個数の割合を示す再現率に基づいて、前記エンベディング層の品質を評価する、
付記2に記載の評価装置。
【0112】
(付記4)
前記評価処理において、前記少なくとも1つのプロセッサは、前記第2境界の個数に対する前記第1境界の個数の割合を示す検出倍率に基づいて、前記エンベディング層の品質を評価する、
付記2または3に記載の評価装置。
【0113】
(付記5)
前記生成処理において、前記少なくとも1つのプロセッサは、前記行列に含まれる複数の行を、各行の各要素から算出される第1の代表値に基づき並べ替えた行列から前記画像データを生成する、
付記1から4の何れか1つに記載の評価装置。
【0114】
(付記6)
前記生成処理において、前記少なくとも1つのプロセッサは、前記行列に含まれる複数の列を、各列の各要素から算出される第2の代表値に基づき並べ替えた行列から前記画像データを生成する、
付記1から5の何れか1つに記載の評価装置。
【0115】
(付記7)
前記言語処理モデルとして第1の言語処理モデルを適用して、前記取得処理、前記生成処理、前記検出処理、および前記評価処理が実行されることにより得られた前記エンベディング層の品質の評価結果を第1の評価結果とし、
前記言語処理モデルとして前記第1の言語処理モデルとは異なる第2の言語処理モデルを適用して、前記取得処理、前記生成処理、前記検出処理、および前記評価処理が実行されることにより得られた前記エンベディング層の品質の評価結果を第2の評価結果とし、
前記評価処理において、前記少なくとも1つのプロセッサは、
同一の前記複数の訓練データ片を用いて得られた前記第1の評価結果および前記第2の評価結果が何れも所定基準を満たさない場合に、当該複数の訓練データ片の品質が基準を満たさないと評価する、
付記1から6の何れか1つに記載の評価装置。
【0116】
(付記8)
前記生成処理において、前記少なくとも1つのプロセッサは、前記行列の要素の最小値から最大値までに対して、複数の色の間を所定数の階調で表した画素値を割り当てることにより、前記行列の各要素を画素値に変換する、
付記1から7の何れか1つに記載の評価装置。
【0117】
(付記9)
前記少なくとも1つのプロセッサは、
前記評価処理による評価結果、および前記生成処理により生成した画像データの一方または両方を出力する出力処理、をさらに実行する、
付記1から8の何れか1つに記載の評価装置。
【0118】
(付記10)
前記検出処理において、前記少なくとも1つのプロセッサは、前記画素値の変化に基づいて検出した第1境界の候補のうち、前記画像データにおいて前記エンベディングに対応する行または列の方向に平行な候補を、前記第1境界として検出する、
付記2から4の何れか1つに記載の評価装置。
【0119】
(付記11)
前記検出処理において、前記少なくとも1つのプロセッサは、前記画像データの一辺に平行な平行線に含まれる、1または複数の前記平行な候補の長さの合計が、当該一辺の長さに対して所定割合以上の場合に、当該平行線を前記第1境界として検出する、
付記10に記載の評価装置。
【0120】
なお、付記事項3における付記1から11の何れか1つに記載の評価装置は、更にメモリを備えていてもよく、このメモリには、前記取得処理と、前記生成処理と、前記検出処理と、前記評価処理と、を前記プロセッサに実行させるためのプログラムが記憶されていてもよい。また、このプログラムは、コンピュータ読み取り可能な一時的でない有形の記録媒体に記録されていてもよい。
【符号の説明】
【0121】
1、1A 評価装置
2 学習装置
3 表示装置
10 評価システム
11、11A 取得部
12、12A 生成部
13、13A 検出部
14、14A 評価部
15A 出力部
C1 プロセッサ
C2 メモリ