テキストの埋め込みは、自然言語処理(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パッケージが必要です: os
、 openai
、 scipy.spatial.distance
、 sklearn.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()
さらなる調査:
高度な学習については、微調整GPT-3およびOpenai APIチートシートに関するデータカンプリソースを探索してください。
コードの例は、より簡潔で組織化された方法で提示され、読みやすさと理解を向上させます。画像は要求に応じて含まれています。
以上がOpenai APIを使用したテキストの埋め込みを活用する:実用的なガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。