首页 >科技周边 >人工智能 >使用OpenAI API利用文本嵌入:实用指南

使用OpenAI API利用文本嵌入:实用指南

Lisa Kudrow
Lisa Kudrow原创
2025-03-11 09:19:11224浏览

文本嵌入是自然语言处理(NLP)的基石,提供了文本的数值表示,其中单词或短语成为真实数字的密集向量。这使机器可以理解语义含义和单词之间的关系,从而显着提高其处理人类语言的能力。

这些嵌入对于文本分类,信息检索和语义相似性检测等任务至关重要。 Openai推荐了ADA V2模型来创建它们,从而利用GPT系列的强度来捕获文本中的上下文含义和关联。

在继续之前,假定对OpenAI的API和openai Python软件包的熟悉程度(请参阅“使用Python中的OpenAI API使用GPT-3.5和GPT-4”以获取指导。了解聚类,尤其是K-均值,也很有帮助(请参阅“与Scikit-Learn在Python中介绍K-Means聚类的简介”)。

文本嵌入的应用:

文本嵌入在许多领域中找到应用程序,包括:

  • 文本分类:建立精确的模型,以进行情感分析或主题标识。
  • 信息检索:检索与特定查询相关的信息,模仿搜索引擎功能。
  • 语义相似性检测:识别和量化文本片段之间的语义相似性。
  • 建议系统:通过了解文本交互中的用户偏好来增强建议质量。
  • 文本生成:生成更连贯和上下文相关的文本。
  • 机器翻译:通过捕获跨语义语义含义来改善机器翻译质量。

设置和安装:

需要以下python软件包: osopenaiscipy.spatial.distancesklearn.cluster.KMeansumap.UMAP 。使用:

 PIP安装-U Openai Scipy Plotly-Express Scikit-Learn Umap-learn

导入所需的库:

导入操作系统
进口Openai
从scipy.Spatial进口距离
导入plotly.extress为px
来自Sklearn.Cluster Import Kmeans
来自UMAP进口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_embedding(text_to_embed):
    响应= openai.embedding.create(
        型号=“ text-embedding-ada-002”,
        输入= [text_to_embed]
    )
    嵌入=响应[“数据”] [0] [“嵌入”]
    返回嵌入

数据集和分析:

此示例使用Amazon乐器评论数据集(可在Kaggle或作者的GitHub上找到)。为了提高效率,使用了100个评论的样本。

导入大熊猫作为pd

data_url =“ https://raw.githubusercontent.com/keitazoumana/experimentation-data/main/main/musical_instruments_reviews.csv”
评论_df = pd.read_csv(data_url)[['eviewText']]
评论_df =评论_df.sample(100)
评论_df [“嵌入”] = eview_df [“评论Text”]。astype(str).apply(get_embedding)
评论_df.Reset_index(drop = true,inplace = true)

语义相似性:

使用scipy.spatial.distance.pdist()计算的欧几里得距离测量了回顾嵌入之间的相似性。较小的距离表示更大的相似性。

聚类分析(K-均值):

K-均值聚类小组类似评论。在这里,使用了三个集群:

 kmeans = kmeans(n_clusters = 3)
kmeanss.fit(review_df [“嵌入”]。tolist())

减少维度(UMAP):

UMAP将嵌入维度降低至两个以进行可视化:

还原= umap()
embeddings_2d = reducer.fit_transform(eview_df [“ embedding”]。tolist())

可视化:

一个散点图可视化簇:

无花果= px.scatter(x = embeddings_2d [:,0],y = embeddings_2d [:,1],color = kmeans.labels_)
图show() 

使用OpenAI API利用文本嵌入:实用指南

进一步探索:

要进行高级学习,请探索微调GPT-3和OpenAI API备忘单上的数据扫描资源。

代码示例以更简洁和有组织的方式提出,以提高可读性和理解。根据要求包含图像。

以上是使用OpenAI API利用文本嵌入:实用指南的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn