繰り返しますが、jupyterノートブック形式で提供します。説明の後に、各ステップのPythonにコードサンプルが続く必要があります。
確かに、各ステップのPythonのコードサンプルを含む、Jupyterノートブックのゼロショットテキスト分類にBertを使用する方法の例です。

まず、必要なライブラリをインストールする必要があります。
`` `
！ピップインストールトランス
！ピップインストールトーチ
`` `
次に、必要なライブラリをインポートして、事前に訓練されたBERTモデルをロードできます。
`` `
トランスからインポートパイプライン、オートトケン装置、AutomodelfOR SequenceClassificationから

tokenizer = autotokenizer.from_pretrained（ "nlptown/bert-base-multilingual-uncased-sentiment"））
Model = automodelfor sequenceClassification.from_pretrained（ "nlptown/bert-base-multilingual-uncased-sentiment"））
NLP = Pipeline（ "Sentiment-analysis"、Tokenizer = Tokenizer、Model = Model）
`` `
ここでは、センチメント分析タスクで微調整されている「NLPTOWN/BERT-BASE-MULTINGUAL-UNCASETIMENT」モデルを使用しています。他の訓練を受けたモデルを使用したり、関連するタスクで独自のBERTモデルを微調整したりできます。

次に、クラスを定義してプロンプトを作成できます。
`` `
classes = ["position"、 "negatiたち"、 "neutral"]]
PROMP = "このテキストは{}についてです。"
`` `
ここでは、ポジティブ、ネガティブ、ニュートラルの3つのクラスを定義し、分類するテキストに関するクラスとコンテキストを含むプロンプトを作成します。

次に、分類するテキストを定義し、Bertトークネイザーを使用してエンコードできます。
`` `
Text = "私は本当に映画を楽しんだ、それは素晴らしかった！」
encoded_text = tokenizer（prompt.format（text）、padding = true、truncation = true、return_tensors = "pt"）
`` `

ここでは、Bertトークンザーを使用してプロンプトとテキストをエンコードし、入力が固定されていることを確認し、エンコードされた入力をPytorchテンソルとして返すことを確認します。

次に、エンコードされたテキストと各クラスのプロンプトの間の類似性スコアを計算できます。
`` `
スコア=モデル（** encoded_text）[0]
softmax = torch.nn.softmax（dim = 1）
確率= softmax（スコア）
class_scores =確率[：,： 3] .detach（）。numpy（）。flatten（）
`` `
ここでは、エンコードされた入力をBERTモデルに渡して各クラスの出力スコアを取得し、SoftMax関数を適用して確率を取得し、3つのクラスのスコアを平坦化します。

最後に、最高のスコアに基づいてテキストを分類できます。
`` `
class_index = class_scores.argmax（）
Prosceded_class = classes [class_index]
`` `
ここでは、Numpy Argmax関数を使用して最高スコアのインデックスを見つけ、対応するクラスラベルにマッピングします。

全体として、この例は、事前に訓練されたモデルと単純なプロンプトベースのアプローチを使用して、Pythonでゼロショットテキスト分類にBertを使用する方法を示しています。このコードを変更して、特定のユースケースに応じて、さまざまな事前に訓練されたモデル、プロンプト、クラスを使用できます。