Python でハグ顔トランスフォーマーを使用する方法

Python Dehagu Yantoransufomawo Shi Yongsuru Fang Fa



Hugging Face は、オープンソースの人工知能コミュニティとして認識されており、言語モデル (自然言語処理) の通信やトレーニングに役立つ重要なフレームワーク、ツール、モデル、アーキテクチャをすべて提供します。 Hugging Face トランスフォーマーは、Python での事前トレーニング済み言語処理モデルの提供を支援する言語アーキテクチャです。 Hugging Face のこれらのトランスフォーマーは、プログラマーがライブラリ パッケージを使用して事前トレーニングされたモデルとのインタラクションを簡単に作成できるようにする幅広いデータセットと階層化された API を提供します。

構文

最先端の Hugging Face トランスフォーマーには、事前にトレーニングされたさまざまなモデルが用意されています。これらのモデルは、以下にリストされているさまざまな言語モデルに適用できます。

  • これらのトランスフォーマーは、さまざまな言語でテキストを処理することができ、テキストの分類、質問と回答、テキストのさまざまな言語への翻訳、テキストの生成など、テキストに対してさまざまなタスクを実行できます。
  • また、物体検出や音声ベースのタスクなどの視覚ベースの分類タスクのために、Hugging Face でこれらのトランスフォーマーを利用することもできます。話者の分類または音声の識別/認識。

Hugging Face のトランスフォーマーには、TensorFlow、PyTorch、ONNX などが含まれます。これらのトランスフォーマーのパッケージをインストールする構文には、次のコマンドを使用します。







$ pip トランスフォーマーをインストールします

ここで、さまざまな言語処理タスクに Hugging Face トランスフォーマーのモデルを使用するさまざまな例を試してみます。



例 1: ハグ顔トランスフォーマーを使用したテキスト生成

この例では、テキスト生成にトランスフォーマーを使用する方法について説明します。テキスト生成には、事前トレーニングされたテキスト生成モデルを利用し、トランスフォーマーからインポートします。トランスフォーマーには、「パイプライン」として知られる基本ライブラリがあります。これらのパイプラインは、事前トレーニングされたモデルに入力として供給する必要があるデータに対して必要なすべての事前および事後処理を実行することにより、トランスフォーマーに対して機能します。



最初に「トランスフォーマー」のライブラリ パッケージを Python ターミナルにインストールすることで、サンプルのコーディングを開始します。トランスフォーマーのパッケージをダウンロードするには、「パッケージ名 (トランスフォーマーなど) を指定して pip install」を使用します。トランスフォーマー パッケージをダウンロードしてインストールしたら、トランスフォーマーから「パイプライン」パッケージをインポートして先に進みます。パイプラインは、データがモデルに供給される前にデータを処理するために使用されます。





pprint から「pprint」をインポートします。このパッケージは、テキスト生成モデルからの出力を、より読みやすく、構造化され、適切にフォーマットされた形式で印刷するためにインストールされます。それ以外の場合、「print()」関数を使用すると、出力が 1 行で表示されますが、整形式ではなく、読みやすくもありません。テキスト生成モデルは、最初にモデルに入力として提供したテキストを生成したり、テキストを追加したりするのに役立ちます。

トレーニングされたモデルをトランスフォーマーから呼び出すには、2 つのパラメーターを入力として持つ Pipeline() 関数を使用します。 1 つ目は選択したタスクの名前を指定し、2 つ目はトランスフォーマーからのモデルの名前を指定します。このシナリオでは、選択されたタスクはテキスト生成です。トランスフォーマーから利用する事前トレーニング済みモデルは「gpt」です。



パイプライン関数を使用した後、追加のテキストを生成するためにモデルに与える入力を決定します。次に、この入力を「task_pipeline()」関数に渡します。この関数は、入力、出力の最大長、および出力に必要な文の数を入力パラメーターとして取り込むことにより、モデルの出力を作成します。

「これは言語モデルです」という入力を与えます。出力の最大長を「30」に、出力内の文の数を「3」に固定します。ここでは、単に pprint() 関数を呼び出して、モデルから生成された結果を表示します。

!pip トランスフォーマーをインストールする

変圧器からのインポートパイプライン
pprint から pprint をインポート

SELECTED_TASK = 'テキスト生成'
モデル = 'gpt2'
タスク = パイプライン(f'{SELECTED_TASK}', モデル = MODEL)

INPUT = 'これは言語モデルです'
OUt_put = タスク(INPUT、max_length = 30、num_return_sequences=3)

pprint(OUT_put)

前述のコードのスニペットと出力から、モデルが、モデルに供給した入力に関連する追加情報/テキストを生成していることがわかります。

例 2: トランスフォーマーからのパイプラインを使用したテキスト分類

前の例では、トランスフォーマーとそのパッケージ パイプラインを使用して、入力に関連する追加のテキストを生成する方法について説明しました。この例では、パイプラインを使用してテキスト分類を実行する方法を示します。テキスト分類は、モデルに供給されている入力を特定のクラスのメンバーとして識別するプロセスです。ポジティブかネガティブか。

まず、トランスフォーマーからパイプラインをインポートします。次に、「pipeline()」関数を呼び出します。モデルの名前(この場合は「テキスト分類」)をパラメーターに渡します。パイプラインを使用してモデルを指定したら、「分類子」という名前を付けることができます。この時点まで、テキスト分類のデフォルト モデルがホスト マシンにダウンロードされます。これで、このモデルをタスクに使用できるようになりました。

したがって、Pandas を「pd」としてインポートします。モデルからの出力を DataFrame の形式で印刷するため、このパッケージをインポートします。ここで、モデルに入力として与えるテキストを指定して、それを肯定的な文か否定的な文として分類します。テキストを「私は良い人です」と設定します。このテキストをこの例で作成した classifier() モデルに渡し、結果を「出力」変数に保存します。

出力を表示するには、Pandas のプレフィックス、つまり pd を「.Dataframe()」として呼び出し、分類子モデルからの出力をこの関数に渡します。次の出力スニペットに示すように、分類子モデルの結果が表示されます。私たちの分類子モデルは、テキストをポジティブ クラスとして分類します。

!pip トランスフォーマーをインストールする
変圧器からのインポートパイプライン
パンダをPDとしてインポートする
classifier = Pipeline('text-classification',model = 'textattach/distilbert-base-uncased-CoLA')
text = '私は良い奴です'
結果 = 分類子(テキスト)
pprint(結果)
df = pd.DataFrame(結果)

結論

このガイドでは、Hugging Face のトランス アーキテクチャについて説明しました。 Hugging Face トランスフォーマーの「パイプライン」ライブラリについて説明しました。次に、このライブラリの助けを借りて、事前トレーニングされたトランスフォーマー モデルをテキスト生成および分類タスクに利用しました。