ホームページ >テクノロジー周辺機器 >AI >Openai APIを使用したテキストの埋め込みを活用する:実用的なガイド

Openai APIを使用したテキストの埋め込みを活用する:実用的なガイド

Lisa Kudrow
Lisa Kudrowオリジナル
2025-03-11 09:19:11221ブラウズ

テキストの埋め込みは、自然言語処理(NLP)の基礎であり、単語やフレーズが実数の密度の高いベクターになるテキストの数値表現を提供します。これにより、マシンは単語間の意味的な意味と関係を理解し​​、人間の言語を処理する能力を大幅に改善できます。

これらの埋め込みは、テキスト分類、情報検索、セマンティックな類似性の検出などのタスクに不可欠です。 Openaiは、それらを作成するためのADA V2モデルを推奨し、テキスト内のコンテキストの意味と関連付けをキャプチャする際のGPTシリーズの強さを活用します。

先に進む前に、OpenaiのAPIとopenai Pythonパッケージに精通していることが想定されています(ガイダンスについては、「PythonのPopenai APIを介してGPT-3.5およびGPT-4を使用する」を参照)。クラスタリング、特にK-meansの理解も役立ちます(「PythonのScikit-Learnを使用したK-Meansクラスタリングの紹介」を参照)。

テキスト埋め込みのアプリケーション:

テキスト埋め込み:以下を含む多くの領域でアプリケーションを見つけます。

  • テキスト分類:感情分析またはトピック識別のための正確なモデルの構築。
  • 情報検索:特定のクエリに関連する情報の取得、検索エンジン機能の模倣。
  • セマンティックな類似性検出:テキストスニペット間のセマンティックな類似性の識別と定量化。
  • 推奨システム:テキストインタラクションからのユーザーの好みを理解することにより、推奨品質を向上させます。
  • テキスト生成:よりコヒーレントで文脈的に関連するテキストを生成します。
  • 機械の翻訳:横断的な意味的な意味をキャプチャすることにより、機械翻訳の品質を向上させます。

セットアップとインストール:

次のPythonパッケージが必要です: osopenaiscipy.spatial.distancesklearn.cluster.KMeans 、およびumap.UMAP 。それらを使用してそれらをインストールします:

 PIPインストール-U Openai Scipy Plotly-Express Scikit-LearnUMap-Learn

必要なライブラリをインポートします。

 OSをインポートします
Openaiをインポートします
Scipy.spatial Import距離から
pxとしてplotly.Expressをインポートします
Sklearn.Cluster Import KMeansから
UMAPからImport UMAPから

Openai APIキーを構成します:

 openai.api_key = "<your_api_key_here> 「</your_api_key_here>

(交換することを忘れないでください<your_api_key_here></your_api_key_here>あなたの実際のキーで。)

埋め込みの生成:

このヘルパー関数はtext-embedding-ada-002モデルを使用して、埋め込みを生成します。

 def get_embeding(text_to_embed):
    response = openai.embeding.create(
        Model = "Text-embedding-ada-002"、
        input = [text_to_embed]
    ))
    埋め込み= response ["data"] [0] ["埋め込み"]]
    埋め込みを返します

データセットと分析:

この例では、Amazonの楽器レビューデータセット(Kaggleまたは著者のGithubで入手可能)を使用しています。効率のために、100のレビューのサンプルが使用されます。

 PDとしてパンダをインポートします

data_url = "https://raw.githubusercontent.com/keitazoumana/experimentation-data/main/musical_instruments_reviews.csv"
Review_df = pd.read_csv(data_url)[['reviewtext']]
Review_df = Review_df.Sample(100)
Review_df ["Embedding"] = review_df ["ReviewText"]。astype(str).apply(get_embeding)
Review_df.reset_index(drop = true、inplace = true)

セマンティックの類似性:

scipy.spatial.distance.pdist()を使用して計算されたユークリッド距離は、レビュー埋め込み間の類似性を測定します。距離が小さいことは、より大きな類似性を示します。

クラスター分析(k-means):

K-Meansクラスタリンググループ同様のレビュー。ここでは、3つのクラスターが使用されます。

 kmeans = kmeans(n_clusters = 3)
kmeans.fit(review_df ["embedding"]。tolist())

次元削減(UMAP):

UMAPは、視覚化のために埋め込み次元を2に減らします。

 reducer = umap()
embeddings_2d = reducer.fit_transform(review_df ["embedding"]。tolist()))

視覚化:

散布図はクラスターを視覚化します:

 fig = px.scatter(x = embeddings_2d [:、0]、y = embeddings_2d [:、1]、color = kmeans.labels_)
fig.show() 

Openai APIでテキストの埋め込みを活用する:実用的なガイド

さらなる調査:

高度な学習については、微調整GPT-3およびOpenai APIチートシートに関するデータカンプリソースを探索してください。

コードの例は、より簡潔で組織化された方法で提示され、読みやすさと理解を向上させます。画像は要求に応じて含まれています。

以上がOpenai APIを使用したテキストの埋め込みを活用する:実用的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。