IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ ネイバー コーポレーションの特許一覧

特許7353435教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム
<>
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図1
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図2
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図3
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図4
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図5
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図6
  • 特許-教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム 図7
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-09-21
(45)【発行日】2023-09-29
(54)【発明の名称】教師なし対照学習によってデータを分類する方法、コンピュータ装置、およびコンピュータプログラム
(51)【国際特許分類】
   G06N 20/00 20190101AFI20230922BHJP
【FI】
G06N20/00 160
【請求項の数】 14
(21)【出願番号】P 2022117697
(22)【出願日】2022-07-25
(65)【公開番号】P2023017740
(43)【公開日】2023-02-07
【審査請求日】2022-07-25
(31)【優先権主張番号】10-2021-0098157
(32)【優先日】2021-07-26
(33)【優先権主張国・地域又は機関】KR
(73)【特許権者】
【識別番号】505205812
【氏名又は名称】ネイバー コーポレーション
【氏名又は名称原語表記】NAVER Corporation
(74)【代理人】
【識別番号】100107766
【弁理士】
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【弁理士】
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【弁理士】
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】チェ ソンジェ
(72)【発明者】
【氏名】カン ジェウク
(72)【発明者】
【氏名】パク ウミョン
(72)【発明者】
【氏名】コ ドンヒョン
【審査官】今城 朋彬
(56)【参考文献】
【文献】再公表特許第2014/033799(JP,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06N 3/00-20/00
(57)【特許請求の範囲】
【請求項1】
コンピュータ装置で実行されるデータ分類方法であって、
前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、
前記データ分類方法は、
前記少なくとも1つのプロセッサにより、与えられたデータの文脈表現(contextual representation)に対する第1類似度行列を生成する段階、
前記少なくとも1つのプロセッサにより、前記文脈表現を補完した補助表現(auxiliary representation)に対する第2類似度行列を生成する段階、
前記少なくとも1つのプロセッサにより、前記第1類似度行列と前記第2類似度行列を結合して第3類似度行列を生成する段階、および
前記少なくとも1つのプロセッサにより、前記第3類似度行列を利用した対照学習(contrastive learning)によってデータ分類のためのモデル学習を実行する段階
を含む、データ分類方法。
【請求項2】
前記モデル学習を実行する段階は、
ラベルのないデータ分類のために、データ間の類似性に基づいてポジティブサンプル(positive sample)を抽出して前記対照学習を実行すること
を特徴とする、請求項1に記載のデータ分類方法。
【請求項3】
前記モデル学習を実行する段階は、
前記第3類似度行列に対して行単位(row-wise)でポジティブサンプルとネガティブサンプル(negative sample)を選択する段階、および
前記ポジティブサンプルと前記ネガティブサンプルに対して交差エントロピー誤差(crossentropy loss)を適用して前記対照学習を実行する段階
を含む、請求項1に記載のデータ分類方法。
【請求項4】
前記第1類似度行列を生成する段階は、
PLM(pretrained language model)によって前記データをエンコードすることにより、稠密な文脈表現(densecontextual representation)を抽出する段階を含む、
請求項1に記載のデータ分類方法。
【請求項5】
前記第1類似度行列を生成する段階は、
前記文脈表現に対するベクトルのドット積(dot product)を使用して前記第1類似度行列を生成する段階
を含む、請求項1に記載のデータ分類方法。
【請求項6】
前記第2類似度行列を生成する段階は、
データの順序とは関係なく、データの存在を示すスパース表現として前記補助表現を生成する段階
を含む、請求項1に記載のデータ分類方法。
【請求項7】
前記第2類似度行列を生成する段階は、
テキスト類型のデータが与えられる場合、TF-IDF(TermFrequency-Inverse Document Frequency)を利用して前記補助表現を生成する段階
を含む、請求項1に記載のデータ分類方法。
【請求項8】
前記第2類似度行列を生成する段階は、
イメージ類型のデータが与えられる場合、イメージに対する深度マップ(depth map)または機能マップ(feature map)を利用して前記補助表現を生成する段階
を含む、請求項1に記載のデータ分類方法。
【請求項9】
前記第3類似度行列を生成する段階は、
前記第1類似度行列の標準偏差と前記第2類似度行列の平均を利用して、前記第1類似度行列と前記第2類似度行列のスケール調整のためのハイパーパラメータを決定する段階
を含む、請求項1に記載のデータ分類方法。
【請求項10】
前記第3類似度行列を生成する段階は、
学習進行に応じて前記第2類似度行列に対する減衰(decay)係数を設定する段階
を含む、請求項9に記載のデータ分類方法。
【請求項11】
請求項1~10のうちのいずれか一項に記載のデータ分類方法を前記コンピュータ装置に実行させるためのコンピュータプログラム。
【請求項12】
コンピュータ装置であって、
メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサ
を含み、
前記少なくとも1つのプロセッサは、
与えられたデータの文脈表現に対する第1類似度行列を生成する過程、
前記文脈表現を補完した補助表現に対する第2類似度行列を生成する過程、
前記第1類似度行列と前記第2類似度行列を結合して第3類似度行列を生成する過程、および
前記第3類似度行列を利用した対照学習によってデータ分類のためのモデル学習を実行する過程
を処理する、コンピュータ装置。
【請求項13】
前記少なくとも1つのプロセッサは、
ラベルのないデータ分類のために、データ間の類似性に基づいてポジティブサンプルを抽出して前記対照学習を実行すること
を特徴とする、請求項12に記載のコンピュータ装置。
【請求項14】
前記少なくとも1つのプロセッサは、
前記第3類似度行列に対して行単位でポジティブサンプルとネガティブサンプルを選択する段階、および
前記ポジティブサンプルと前記ネガティブサンプルに対して交差エントロピー誤差を適用して前記対照学習を実行すること
を特徴とする、請求項12に記載のコンピュータ装置。
【発明の詳細な説明】
【技術分野】
【0001】
以下の説明は、データ分類のための教師なし対照クラスタリング(unsupervised contrastive clustering)技術に関する。
【背景技術】
【0002】
近年のディープラーニングの発展にともない、NLP(natural language processing)作業の成果も大きく向上している。
【0003】
NLPモデルを構築するための処理方式のほとんどは教師あり学習(supervised learning)方式に依存しており、最小でも数千個のラベルデータセット(labeled datasets)を必要とする。
【0004】
新しいドメインに対して対話システム(dialogue system)を構築するためには、意図(intent)設計からデータ収集、モデル学習などに至るまで莫大な設計費用がかかる。
【0005】
ほとんどの状況においてログデータは十分である反面、どのような意図が存在してどのようなデータが特定の意図を持つのかラベリングに関する情報が足りない場合が多い。
【0006】
意図発掘は、ラベルのないデータ(unlabeled data)で意図を分類するための新たな範疇を探索する問題に関連する。
【0007】
意図発掘の問題は、ラベリングデータを使わない教師なし方法と少量のラベリングデータを使う半教師あり方法(semi-supervised method)によって接近することができる。
【0008】
このとき、表現学習(representation learning)を基盤とする方法の場合、クラスタリング促進目標を含んでいないため、クラスタリングのための適切な表現を構築し難い。
【0009】
また、オフラインクラスタリング方法は、パラメータアップデート段階とクラスタ割当段階を交互に行き来しながらモデルを学習するため、学習の不安定性と表現の不正が発生する恐れがある。
【0010】
さらに、対照クラスタリング方法は、データ拡張(data augmentation)技術によって大きく異なる。ビジョン領域とは異なりテキスト領域のデータ拡張は、文章の意味を歪曲し、ラベルを変えることもあるため、モデルの性能低下に繋がる恐れがある。
【発明の概要】
【発明が解決しようとする課題】
【0011】
ラベルのないデータを学習することのできる技術を提供する。
【0012】
類似性を基盤とした教師なし対照クラスタリングによってデータを分類する技術を提供する。
【課題を解決するための手段】
【0013】
コンピュータ装置で実行されるデータ分類方法であって、前記コンピュータ装置は、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記データ分類方法は、前記少なくとも1つのプロセッサにより、与えられたデータの文脈表現(contextual representation)に対する第1類似度行列を生成する段階、前記少なくとも1つのプロセッサにより、前記文脈表現を補完した補助表現(auxiliary representation)に対する第2類似度行列を生成する段階、前記少なくとも1つのプロセッサにより、前記第1類似度行列と前記第2類似度行列を結合して第3類似度行列を生成する段階、および前記少なくとも1つのプロセッサにより、前記第3類似度行列を利用した対照学習(contrastive learning)によってデータ分類のためのモデル学習を実行する段階を含む、データ分類方法を提供する。
【0014】
一側面によると、前記モデル学習を実行する段階は、ラベルのないデータ分類のために、データインスタンス間の類似性に基づいてポジティブサンプル(positive sample)を抽出し、データ拡張(data augmentation)せずに前記対照学習を実行してよい。
【0015】
他の側面によると、前記モデル学習を実行する段階は、前記第3類似度行列に対して行単位(row-wise)で前記ポジティブサンプルとネガティブサンプル(negative sample)を選択する段階、および前記ポジティブサンプルと前記ネガティブサンプルに対して交差エントロピー誤差(cross entropy loss)を適用して前記対照学習を実行する段階を含んでよい。
【0016】
また他の側面によると、前記第1類似度行列を生成する段階は、PLM(pretrained language model)を利用して前記データをエンコードすることにより、稠密な文脈表現(dense contextual representation)を抽出する段階を含んでよい。
【0017】
また他の側面によると、前記第1類似度行列を生成する段階は、前記文脈表現に対するベクトルのドット積(dot product)を使用して前記第1類似度行列を生成する段階を含んでよい。
【0018】
また他の側面によると、前記第2類似度行列を生成する段階は、データの順序とは関係なく、データの存在を現わすスパース表現によって前記補助表現を生成する段階を含んでよい。
【0019】
また他の側面によると、前記第2類似度行列を生成する段階は、テキスト類型のデータが与えられる場合、TF-IDF(Term Frequency-Inverse Document Frequency)を利用して前記補助表現を生成する段階を含んでよい。
【0020】
また他の側面によると、前記第2類似度行列を生成する段階は、イメージ類型のデータが与えられる場合、イメージに対する深度マップ(depth map)または機能マップ(feature map)を利用して前記補助表現を生成する段階を含んでよい。
【0021】
また他の側面によると、前記第3類似度行列を生成する段階は、前記第1類似度行列の標準偏差と前記第2類似度行列の平均を利用して、前記第1類似度行列と前記第2類似度行列のスケール調整のためのハイパーパラメータを決定する段階を含んでよい。
【0022】
また他の側面によると、前記第3類似度行列を生成する段階は、学習進行に応じて前記第2類似度行列に対する減衰(decay)係数を設定する段階を含んでよい。
【0023】
さらに他の側面によると、前記データ分類方法を前記コンピュータ装置に実行させるためのコンピュータプログラムを提供する。
【0024】
コンピュータ装置であって、メモリに含まれるコンピュータ読み取り可能な命令を実行するように構成された少なくとも1つのプロセッサを含み、前記少なくとも1つのプロセッサは、与えられたデータの文脈表現に対する第1類似度行列を生成する過程、前記文脈表現を補完した補助表現に対する第2類似度行列を生成する過程、前記第1類似度行列と前記第2類似度行列を結合して第3類似度行列を生成する過程、および前記第3類似度行列を利用した対照学習によってデータ分類のためのモデル学習を実行する過程を処理する、コンピュータ装置を提供する。
【発明の効果】
【0025】
本発明の実施形態によると、ミニバッチ(mini-batch)での各ペアの類似性を基盤とした教師なし対照クラスタリングを適用することにより、データの意味歪曲問題を解決することができる。
【0026】
本発明の実施形態によると、入力によって与えられたデータに対するスパース表現(sparse representation)である補助表現(auxiliary representation)を使用することにより、データ拡張を使用しない対照学習によるノイズの重畳問題を緩和することができる。
【図面の簡単な説明】
【0027】
図1】本発明の一実施形態における、コンピュータ装置の内部構成の一例を説明するためのブロック図である。
図2】本発明の一実施形態における、コンピュータ装置が実行することのできるデータ分類方法の例を示したフローチャートである。
図3】本発明の一実施形態における、文脈表現に対する類似度行列を生成する過程の例示図である。
図4】本発明の一実施形態における、補助表現に対する類似度行列を生成する過程の例示図である。
図5】本発明の一実施形態における、対照学習のための最終類似度行列を生成する過程の例示図である。
図6】本発明の一実施形態における、類似度行列を利用した対照学習過程の例示図である。
図7】本発明の一実施形態における、教師なし対照学習によって学習されたPLMを利用したクラスタリング過程の例示図である。
【発明を実施するための形態】
【0028】
以下、本発明の実施形態について、添付の図面を参照しながら詳しく説明する。
【0029】
本発明の実施形態は、類似性を基盤とした教師なし対照クラスタリング技術に関する。本明細書において、サンプルとは、学習と評価のために全体データからサンプリングしたデータを意味し、インスタンス(instance)とは、対照学習においてクラスタをなさずに個別のラベルで区分されるデータを意味する。ただし、これは、処理段階に応じてデータを指称する用語に過ぎず、厳密に区分されるものでなく、データと呼ばれてもよい。
【0030】
本明細書で具体的に開示される事項を含む実施形態は、データ拡張による意味歪曲問題を避けるためにミニバッチで各ペアの類似性を活用し、疑似ラベル(pseudo label)による学習の不安定を避けるために補助表現を使用する。
【0031】
図1は、本発明の一実施形態における、コンピュータ装置の例を示したブロック図である。例えば、本発明の実施形態に係るデータ分類システムは、図1に示したコンピュータ装置100によって実現されてよい。
【0032】
図1に示すように、コンピュータ装置100は、本発明の実施形態に係るデータ分類方法を実行するための構成要素として、メモリ110、プロセッサ120、通信インタフェース130、および入力/出力インタフェース140を含んでよい。
【0033】
メモリ110は、コンピュータ読み取り可能な記録媒体であって、RAM(random access memory)、ROM(read only memory)、およびディスクドライブのような永続的大容量記録装置を含んでよい。ここで、ROMやディスクドライブのような永続的大容量記録装置は、メモリ110とは区分される別の永続的記録装置としてコンピュータ装置100に含まれてもよい。また、メモリ110には、オペレーティングシステムと、少なくとも1つのプログラムコードが記録されてよい。このようなソフトウェア構成要素は、メモリ110とは別のコンピュータ読み取り可能な記録媒体からメモリ110にロードされてよい。このような別のコンピュータ読み取り可能な記録媒体は、フロッピー(登録商標)ドライブ、ディスク、テープ、DVD/CD-ROMドライブ、メモリカードなどのコンピュータ読み取り可能な記録媒体を含んでよい。他の実施形態において、ソフトウェア構成要素は、コンピュータ読み取り可能な記録媒体ではない通信インタフェース130を通じてメモリ110にロードされてもよい。例えば、ソフトウェア構成要素は、ネットワーク160を介して受信されるファイルによってインストールされるコンピュータプログラムに基づいてコンピュータ装置100のメモリ110にロードされてよい。
【0034】
プロセッサ120は、基本的な算術、ロジック、および入出力演算を実行することにより、コンピュータプログラムの命令を処理するように構成されてよい。命令は、メモリ110または通信インタフェース130によって、プロセッサ120に提供されてよい。例えば、プロセッサ120は、メモリ110のような記録装置に記録されたプログラムコードにしたがって受信される命令を実行するように構成されてよい。
【0035】
通信インタフェース130は、ネットワーク160を介してコンピュータ装置100が他の装置と互いに通信するための機能を提供してよい。一例として、コンピュータ装置100のプロセッサ120がメモリ110のような記録装置に記録されたプログラムコードにしたがって生成した要求や命令、データ、ファイルなどが、通信インタフェース130の制御にしたがってネットワーク160を介して他の装置に伝達されてよい。これとは逆に、他の装置からの信号や命令、データ、ファイルなどが、ネットワーク160を経てコンピュータ装置100の通信インタフェース130を通じてコンピュータ装置100に受信されてよい。通信インタフェース130を通じて受信された信号や命令、データなどは、プロセッサ120やメモリ110に伝達されてよく、ファイルなどは、コンピュータ装置100がさらに含むことのできる記録媒体(上述した永続的記録装置)に記録されてよい。
【0036】
通信方式が限定されることはなく、ネットワーク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つ以上を含んでもよいが、これらに限定されることはない。
【0037】
入力/出力インタフェース140は、入力/出力装置150とのインタフェースのための手段であってよい。例えば、入力装置は、マイク、キーボード、カメラ、またはマウスなどの装置を、出力装置は、ディスプレイ、スピーカのような装置を含んでよい。他の例として、入力/出力インタフェース140は、タッチスクリーンのように入力と出力のための機能が1つに統合された装置とのインタフェースのための手段であってもよい。入力/出力装置150は、コンピュータ装置100と1つの装置で構成されてもよい。
【0038】
また、他の実施形態において、コンピュータ装置100は、図1の構成要素よりも少ないか多くの構成要素を含んでもよい。しかし、大部分の従来技術的構成要素を明確に図に示す必要はない。例えば、コンピュータ装置100は、上述した入力/出力装置150のうちの少なくとも一部を含むように実現されてもよいし、トランシーバ、カメラ、各種センサ、データベースなどのような他の構成要素をさらに含んでもよい。
【0039】
本実施形態では、データ分類のための新たなクラスタリングフレームワークを提案する。
【0040】
本発明に係るデータ分類方法は、新たなE2E(end to end)教師なしクラスタリング方法であって、データインスタンス間の類似性を活用してポジティブサンプル(positive sample)を抽出することにより、データ拡張せずに対照学習を実行することができる。
【0041】
また、本実施形態では、適切なポジティブサンプルを抽出するようにモデルをガイドする補助表現を使用することにより、稠密な文脈表現(dense contextual representation)だけを使用するときに発生する初期学習段階の不安定性を緩和することができる。
【0042】
図2は、本発明の一実施形態における、コンピュータ装置が実行することのできるデータ分類方法の例を示したフローチャートである。
【0043】
本実施形態に係るデータ分類方法は、上述したコンピュータ装置100によって実行されてよい。この場合、コンピュータ装置100のプロセッサ120は、メモリ110が含むオペレーティングシステムのコードと、少なくとも1つのプログラムのコードとによる制御命令(instruction)を実行するように実現されてよい。ここで、プロセッサ120は、コンピュータ装置100に記録されたコードが提供する制御命令にしたがってコンピュータ装置100が図2のデータ分類方法に含まれる段階210~230を実行するようにコンピュータ装置100を制御してよい。
【0044】
図2を参照すると、段階210で、プロセッサ120は、与えられた入力データを稠密な文脈表現にエンコードすると同時に、学習の不安定性を補完する補助表現を構成する。モデルが十分に学習されていない状態でポジティブサンプルを抽出するために類似性基盤の疑似ラベルを使用することは、疑似ラベルが正しく選択されないこともあるし、誤ったラベルの選択によって学習過程中にノイズが累積するため極めて不安定となる。このような問題を緩和するために、本実施形態では、広いカテゴリを補充することのできる表現として、順序とは関係なくデータの存在を示す補助表現を使用する。
【0045】
段階220で、プロセッサ120は、文脈表現と補助表現に対する類似度行列(similarity matrix)を生成する。プロセッサ120は、文脈表現と補助表現で一対のインスタンスが同じクラスタに属するかを示す類似度行列を生成してよい。プロセッサ120は、バッチのデータインスタンスを使用して類似度行列を構築してよい。
【0046】
段階230で、プロセッサ120は、段階220で生成された類似度行列の各行からポジティブサンプルを選択し、対照損失(contrastive loss)によって対話システムのためのモデルを学習する。プロセッサ120は、類似度行列に対して行単位(row-wise)で最も高い値のデータをポジティブサンプルとして選択し、残りのデータをネガティブサンプル(negative sample)として選択し、交差エントロピー誤差(cross entropy loss)を適用してPLM(pretrained language model)を学習してよい。
【0047】
本実施形態では、データ拡張を使用しない対照学習を適用することにより、データ拡張による意味歪曲問題を避けることができ、適切なポジティブサンプルを抽出するようにモデルをガイドする補助表現を使用することにより、データ拡張せずに対照学習を実行することよって発生し得るノイズ重畳問題を緩和することができる。
【0048】
プロセッサ120は、学習後、学習されたPLMで与えられた入力データに対する表現を抽出し、多様なクラスタリングアルゴリズムを適用することにより、該当の表現に対する分類(ラベリング)を実行する。プロセッサ120は、学習されたモデルでPLMだけを利用して入力データをエンコードし、K-meanクラスタリングや凝集(agglomerative)クラスタリングなどを適用してクラスタリング(データ分類)を実行してよい。
【0049】
データ分類が必要なタスクの一例として、特定のデータ(例えば、顧客センターへの質疑)がどのような意図(intent)を持つかを分類することが挙げられる。本発明に係るデータ分類のための教師なし対照学習は、このようなタスクを解決するために適切に使用することができる。この詳細過程は次のとおりとなる。
【0050】
図3は、本発明の一実施形態における、文脈表現に対する類似度行列を生成する過程の例示図である。
【0051】
図3を参照すると、プロセッサ120は、データの高い水準の意味特徴(semantic feature)を抽出するためにPLM30を使用する。プロセッサ120は、N個のサンプル{Xi=1 と特殊トークン(例えば、[CLS]、[SEP]など)を利用してPLM30の入力を構成する。
【0052】
PLM30は、数式(1)のような特徴(z)を出力する。
【0053】
【数1】
【0054】
ここで、[CLS]は文章全体を示しており、[SEP]はそれぞれの文章を区分する特殊トークンである。{Ti,kk=1 はXのトークン集合を、Mはトークンの数を意味する。また、PLMCLS(・)は、[CLS]トークンに対応する最後の隠れ状態ベクトル(last hidden state vector)を意味する。
【0055】
本実施形態に係るクラスタリング方法では、意味歪曲を誘発し得るデータ拡張を使用せずに対照学習を適用することを目標とする。プロセッサ120は、PLM30を活用して、入力として入ってきた文章をエンコードし、ベクトルのドット積(dot product)を使用して類似度行列310を生成してよい。
【0056】
{zi=1 を{Xi=1 の稠密な文脈表現であるとしよう。プロセッサ120は、インスタンスのペアが同じクラスタ(例えば、同じ意図)に属するかを示す類似度行列310を計算する。文脈表現に対する類似度行列310は、数式(2)のように定義されてよい。
【0057】
【数2】
【0058】
ここで、infは、同じインスタンスがポジティブペアとして選択されることを防ぐための無限数(infinite number)を意味する。SはN×N次元をもつ類似度行列を、sim(z,z)はzとzの類似性を示す。本実施形態では、類似度関数として正規化および次元性の減少がない表現のドット積を使用する。
【0059】
自身を除き、Xと最も類似するサンプルはポジティブサンプルとして示し、残りのサンプルはネガティブサンプルとして示す。本実施形態では、数式(3)のように定義された交差エントロピー誤差を使用する。
【0060】
【数3】
【0061】
ここで、
【数4】
は、k≠iの場合、1を出力してその他0を出力する指示関数(indicator function)を意味し、τは、モデルが予測し難いハードネガティブで学習するのに役立つ確率調節パラメータ(temperature parameter)を意味する。
【0062】
インスタンスレベルの対照学習とは異なり、本発明は、数式(2)と数式(3)の結果として同じ意図を持つデータインスタンスを明示的にグループ化することにより、クラスタリングに適した特徴を学習することができる。
【0063】
図4は、本発明の一実施形態における、補助表現に対する類似度行列を生成する過程の例示図である。
【0064】
本発明に係る教師なし対照学習は、データ拡張基盤の対照学習よりも有利である。データ拡張基盤の対照学習は、意味的類似性に関係なく他のインスタンスを押し出す反面、本発明に係る教師なし対照学習は、意味的類似性を考慮した上で互いに異なるインスタンスをグループ化する。
【0065】
ファインチューニング(fine tuning)がなされていないデータ表現(representation)の類似性だけを使用してラベルのないデータからポジティブサンプルを抽出するには限界がある。PLM30は、ターゲットドメインに対して十分な学習がなされていない学習初期にインスタンスが十分に表現されていないベクトルを出力する。これにより、類似度計算だけでなく、サンプルの誤選択が生じることがあった。初期段階にポジティブサンプルが誤って選択されれば、学習にノイズが含まれるようになり、学習の進行にともなってノイズが累積し、モデルの性能が低下することがあった。
【0066】
このような問題を緩和するために、本実施形態では、PLM30でエンコードされた文脈表現を補完する補助表現を使用する。一例として、プロセッサ120は、単語の順序は無視し、単語の有無(存在または不在)とデータセット内の単語の重要性に焦点を置くスパース単語表現を適用して補助表現を生成する。補助表現のためには、テキスト類型のデータの場合は、BoW(bag of words)、TF-IDF(Term Frequency-Inverse Document Frequency)などを使用してよく、一例として、ユニグラム(unigram)TF-IDFを使用してよい。
【0067】
本実施形態では、データ分類対象としてテキストデータを例に挙げて説明しているが、これに限定されてはならず、例えば、イメージの場合、補助表現は、ディープラーニング方法論の代わりに、深度マップ(depth map)やイメージの機能マップ(feature map)などイメージから類似度行列を構成するために必要な特徴を抽出することが可能な多様な技法が適用されてよい。言い換えれば、ディープラーニング基盤の類似度行列と、ディープラーニング以外のイメージに特化した方法論によって構成した新たな類似度行列を結合することで、イメージクラスタリングを目的とする対照学習に適用することができる。
【0068】
補助表現は、単語頻度を比較することにより、意味論的意味(semantic meaning)とは関係なくインスタンスの類似性を明示的に示すことができる。単語頻度に基づいた類似性は、学習初期段階で適切なポジティブサンプルを選択するようにモデルをガイドすることができ、その結果、補助表現は学習初期段階でノイズを減らすことができる。
【0069】
補助表現は、数式(4)のように定義されてよい。
【0070】
【数5】
【0071】
ここで、|V|は、単語の大きさを意味する。{wi=1 を{Xi=1 の補助表現とする。
【0072】
補助表現に対する類似度行列420は、数式(5)のように定義されてよい。
【0073】
【数6】
【0074】
ここで、infは、同じインスタンスがポジティブペアとして選択されることを防ぐための無限数を意味する。SはN×N次元を持つ類似度行列を、sim(w,w)はwとwの類似性を示す。
【0075】
図5は、本発明の一実施形態における、対照学習のための最終類似度行列を生成する過程の例示図である。
【0076】
図5を参照すると、プロセッサ120は、文脈表現に対する類似度行列310と補助表現に対する類似度行列420を結合して対照学習のための最終類似度行列530を生成する。一例として、プロセッサ120は、文脈表現に対する類似度行列310と補助表現に対する類似度行列420のうちの少なくとも1つに適切な値を掛けてスケールを合わせた後、2つの類似度行列310、420を足して最終類似度行列530を構成してよい。
【0077】
一例として、最終類似度行列530は、数式(6)のように定義されてよい。
【数7】
【0078】
ここで、λは、文脈表現に対する類似度行列310Sと補助表現に対する類似度行列420Sのスケール調整のためのハイパーパラメータを意味する。
【0079】
プロセッサ120は、Sにλを掛けてSのスケールを調整した後、Sと加算する方式によって最終類似度行列530を生成してよい。
【0080】
プロセッサ120は、学習のたびにλを計算する。このとき、λは、数式(7)のように定義されてよい。
【0081】
【数8】
【0082】
ここで、σ(S)はSの標準偏差(standard deviation)を、avg(S)はSの平均値を意味する。
【0083】
プロセッサ120は、補助表現の影響を減らすために、補助表現に対する学習率を減らすための減衰(decay)係数をスケール調整パラメータλに掛けた後、補助表現に対する類似度行列420Sに反映する。
【0084】
言い換えれば、減衰係数は、学習の進行にともなって補助表現の影響力を漸次的に減らし、PLM30自体を学習させることを目的とする。例えば、減衰係数の初期値は1に設定されてよく、すべてのデータセットに対して1エポック(epoch)学習が実行されれば0.9ずつ減らしてよい。
【0085】
図6は、本発明の一実施形態における、類似度行列を利用した対照学習過程の例示図である。
【0086】
図6を参照すると、プロセッサ120は、最終類似度行列530に対して行単位で最も高い値のデータをポジティブサンプルとして選択し、残りのデータをネガティブサンプルとして選択した後、モデルに対する対照学習を実行する。言い換えれば、プロセッサ120は、各データインスタンスに対して、ポジティブサンプルを抽出した後に対照損失を適用してよい。ポジティブサンプルには近づき、ネガティブサンプルからは遠ざかるように学習することにより、ポジティブペアとして選択されたバッチで他のインスタンスにより近くに持ってこれば、クラスタ内の距離だけでなく、クラスタ間の距離まで考慮することができる。対照学習には交差エントロピー誤差を使用してよいが、これに限定されてはならない。
【0087】
図7は、本発明の一実施形態における、教師なし対照学習によって学習されたPLMを利用したクラスタリング過程の例示図である。
【0088】
図7を参照すると、プロセッサ120は、クラスタリングに適合する特徴を学習し、同じラベル(例えば、意図)を持つインスタンスをグループ化するクラスタリングを実行する。プロセッサ120は、与えられた入力データに対して、学習されたPLM30で表現を抽出して多様なクラスタリングアルゴリズムを適用することにより、該当の表現を(例えば、該当の表現がどのような意図に該当するか)分類する。例えば、K-meanクラスタリングアルゴリズムは、数式(8)の費用関数を最適化するアルゴリズムのうちの1つであってよい。
【0089】
【数9】
【0090】
ここで、Kは予め定義されたクラスタ数を、sは0ではない要素が1つだけある割当ベクトル(assignment vector)を意味する。si,jはsのj番目の要素を示し、Wのk番目の列はk番目のクラスタのセントロイド(centroid)を示す。
【0091】
このように、本発明の実施形態によると、データインスタンス間の類似性を活用してポジティブサンプルを抽出することにより、データ拡張を使用せずに教師なし対照学習を実行することができる。
【0092】
さらに、本発明の実施形態によると、適切なポジティブサンプルを抽出するようにモデルをガイドする、より広いカテゴリのスパース表現(補助表現)を稠密な文脈表現とともに入力表現として使用することにより、文脈表現だけを使用するときに発生する初期学習段階の不安定性を緩和することができる。
【0093】
上述した装置は、ハードウェア構成要素、ソフトウェア構成要素、および/またはハードウェア構成要素とソフトウェア構成要素との組み合わせによって実現されてよい。例えば、実施形態で説明された装置および構成要素は、プロセッサ、コントローラ、ALU(arithmetic logic unit)、デジタル信号プロセッサ、マイクロコンピュータ、FPGA(field programmable gate array)、PLU(programmable logic unit)、マイクロプロセッサ、または命令を実行して応答することができる様々な装置のように、1つ以上の汎用コンピュータまたは特殊目的コンピュータを利用して実現されてよい。処理装置は、オペレーティングシステム(OS)およびOS上で実行される1つ以上のソフトウェアアプリケーションを実行してよい。また、処理装置は、ソフトウェアの実行に応答し、データにアクセスし、データを記録、操作、処理、および生成してもよい。理解の便宜のために、1つの処理装置が使用されるとして説明される場合もあるが、当業者であれば、処理装置が複数個の処理要素および/または複数種類の処理要素を含んでもよいことが理解できるであろう。例えば、処理装置は、複数個のプロセッサまたは1つのプロセッサおよび1つのコントローラを含んでよい。また、並列プロセッサのような、他の処理構成も可能である。
【0094】
ソフトウェアは、コンピュータプログラム、コード、命令、またはこれらのうちの1つ以上の組み合わせを含んでもよく、思うままに動作するように処理装置を構成したり、独立的または集合的に処理装置に命令したりしてよい。ソフトウェアおよび/またはデータは、処理装置に基づいて解釈されたり、処理装置に命令またはデータを提供したりするために、いかなる種類の機械、コンポーネント、物理装置、コンピュータ記録媒体または装置に具現化されてよい。ソフトウェアは、ネットワークによって接続されたコンピュータシステム上に分散され、分散された状態で記録されても実行されてもよい。ソフトウェアおよびデータは、1つ以上のコンピュータ読み取り可能な記録媒体に記録されてよい。
【0095】
実施形態に係る方法は、多様なコンピュータ手段によって実行可能なプログラム命令の形態で実現されてコンピュータ読み取り可能な媒体に記録されてよい。ここで、媒体は、コンピュータ実行可能なプログラムを継続して記録するものであっても、実行またはダウンロードのために一時記録するものであってもよい。また、媒体は、単一または複数のハードウェアが結合した形態の多様な記録手段または格納手段であってよく、あるコンピュータシステムに直接接続する媒体に限定されることはなく、ネットワーク上に分散して存在するものであってもよい。媒体の例としては、ハードディスク、フロッピー(登録商標)ディスク、および磁気テープのような磁気媒体、CD-ROMおよびDVDのような光媒体、フロプティカルディスク(floptical disk)のような光磁気媒体、およびROM、RAM、フラッシュメモリなどを含み、プログラム命令が記録されるように構成されたものであってよい。また、媒体の他の例として、アプリケーションを配布するアプリケーションストアやその他の多様なソフトウェアを供給または配布するサイト、サーバなどで管理する記録媒体または格納媒体が挙げられる。
【0096】
以上のように、実施形態を、限定された実施形態および図面に基づいて説明したが、当業者であれば、上述した記載から多様な修正および変形が可能であろう。例えば、説明された技術が、説明された方法とは異なる順序で実行されたり、かつ/あるいは、説明されたシステム、構造、装置、回路などの構成要素が、説明された方法とは異なる形態で結合されたりまたは組み合わされたり、他の構成要素または均等物によって対置されたり置換されたとしても、適切な結果を達成することができる。
【0097】
したがって、異なる実施形態であっても、特許請求の範囲と均等なものであれば、添付される特許請求の範囲に属する。
【符号の説明】
【0098】
100:コンピュータ装置
110:メモリ
120:プロセッサ
130:通信インタフェース
140:入力/出力インタフェース
150:入力/出力装置
160:ネットワーク
図1
図2
図3
図4
図5
図6
図7